简单插入类排序
#include<stdio.h> //算法 void insort(int p[], int n) { int j,k,t; for(j=1;j<n;j++) { t=p[j];//p[j]为正要排序的元素,将其赋值给一个变量 k=j-1; while((k>=0)&&(p[k]>t))//将所赋值的变量与数组前面的元素比大小 { p[k+1]=p[k]; k--; } p[k+1]=t;//比较完毕,把变量赋值给正确的数组位置 } return; } //实现算法 void main() { int i; int p[]={2,3,7,1,23,675,34,2,56,78}; printf("排序前\n"); for(i=0;i<10;i++) printf("%d,",p[i]); printf("\n"); insort(p,10); printf("排序后\n"); for(i=0;i<10;i++) printf("%d,",p[i]); getchar(); }
最基本的插入排序,想了1小时才明白,可能有不对的地方=。=