冒泡排序:两两比较,每一次找出一个
1 void bubble_sort(int*num,int n) 2 { 3 int i,j,temp; 4 for(i=0;i<n;i++) 5 for(j=0;j<n-i-1;j++) 6 { 7 if(num[j]>num[j+1]) 8 { 9 temp=num[j]; 10 num[j]=num[j+1]; 11 num[j+1]=temp; 12 } 13 } 14 }
快速排序:有基准,递归
1 void quick_sort(int*num,int i,int j) 2 { 3 if(i<j) 4 { 5 int flag=num[i]; 6 int a=i,b=j; 7 int temp; 8 while(i<j) 9 { 10 while(num[i]<flag&&i<j) 11 { 12 i++; 13 } 14 while(num[j]>flag&&i<j) 15 { 16 j--; 17 } 18 temp=num[i]; 19 num[i]=num[j]; 20 num[j]=temp; 21 } 22 quick_sort(num,a,i-1); 23 quick_sort(num,j+1,b); 24 } 25 }
归并排序:
选择排序:一直找最小值
插入排序:
1 void insert_sort(int num[],int n) 2 { 3 int temp,i,j; 4 for(i=1;i<n;i++) 5 { 6 temp=num[i]; 7 for(j=i;j>0&&temp<num[j-1];j--)//dsas 8 { 9 num[j]=num[j-1]; 10 } 11 num[j]=temp; 12 13 } 14 15 }
希尔排序: