1. 冒泡排序
#include <stdio.h> #include <stdlib.h> void sort(int *arr,int len); int main() { int a[10]={12,32,42,5,6,45,88,123,53,2},i; sort(a,10); for(i=0;i<10;i++) { printf("%d ",a[i]); } getchar(); return 0; } void sort(int *arr,int len)// 冒泡排序法(相邻两个比较) { int i,j,k; for(i=1;i<len;i++)// 里面的循环后最右边是最大,但其余的并未正确排序,一次次循环把剩余的最大数放到剩余的最右边;要从1开始循环 { for(j=0;j<len-i;j++) { if(arr[j]>arr[j+1])// 从左开始,相邻两个比较,大的被换到右边,最终右边是最大的;改为<就是从大到小排序 { k=arr[j]; arr[j]=arr[j+1]; arr[j+1]=k; } } } }
2019-12-19