1.冒泡排序
思路:从数组第1个到最后一个依次比较,将大的放在最后一个,依次叠加
void maopao(int a[],length)
{
for (i=0;i for (j=0;j { if(a[j]>a[j++]) { int temp temp=a[i] a[i]=a[j] a[j]=temp } } } 2.选择排序 思路:将数组中最大的数放在最后 void selectionsort(int arr[],int length) { int index,temp; for(i=0;i {index=i; for(j=i+1;j { if(arr[i]>arr[j]) index=j; } if (index!=i) { temp=arr[i] arr[i]=arr[j] arr[j]=temp } } } 3.插入排序 思路:将序列分块进行排序 void insertion (int arr[],length) { //分块 for(i=1,i if(arr[i]
temp = arr[i] for(j=i-1;j>=0 && temp
{ arr[j+1]=a[j] } arr[j+1]=temp } } } 4.希尔排序,分块的方式与插入排序的方式不同 void xier(int arr[],length) { int length int temp do { number=length/3 +1 for(i=0;i { for(j=i+number;j { if(a[j]
{ int temp =a[j]; for(k=j-number;k { a[k+number]=a[k] } a[k+number]=temp } } } }while(number>1) }



