排序问题
排序总共分为8种, 插入排序分为直接插入排序和希尔排序 选择排序分为简单排序和堆排序 交换排序分为冒泡排序和快速排序 还有两种归并排序和基数排序 谭浩强书上给了3种排序,起泡法,比较交换法和选择法 1.直接插入排序 void insert_sort(int a[],int n){ int i,j,temp; for(i=1;i<n;i++) if(a[i]<a[i-1]){ temp=a[i]; for(j=i-1;temp<a[j]&&j>=0;j--) a[j+1]=a[j]; a[++j]=temp; } } 2.希尔排序 void shell_insert(int a[],int n,int d){ int i,j,temp; for(i=d;i<n;i++) if(a[i]<a[i-d]){ temp=a[i]; for(j=i-d;j>=0&&temp<a[j];j=j-d) a[j+d]=a[j]; a[j+d]=temp; } } void shell_sort(int a[],int n){ int d=n/2; while(d>0){ shell_insert(a,n,d); d=d/2; } } 3.简单选择排序 void select_sort(int a[],int n){ int i,j,k,temp; for(int i=0;i<n-1;i++){ k