本文共 604 字,大约阅读时间需要 2 分钟。
//直接插入排序void IntSort(Type r[],int length){ for(i=2;i<=length;i++){ r[0]=r[i];//将待插入位置记录存放在r[0] j=i-1;//j为i的前一个位置 while(r[0].key<r[j].key){ //j为插入位置 r[j+1]=r[j];//先把j位置的数移到下一个位置 腾位置 r[j]=r[0]; //再把要插入的数插入到位置j } }}//冒泡排序 void IntSort(Type r[],int length){ int t; for(int i=0;i<n;i++){ for(int j=0;j<n-i;j++){ if(r[j].key>r[j+1].key){ t=r[j]; r[j]=r[j+1]; r[j+1]=t; } }//每趟排序都把最大的数放在最后n-i } }//选择排序 void selectSort(Type r[],int n){ k=i; for(int j=i+1;j<n;j++){ if(r[k].key<r[j].key)k=j;//k纪录最小数的下标 //k!=i 说明i不是最小数就与j交换 if(k!=i){ t=r[i]; r[i]=r[j]; r[j]=t; } }}
转载地址:http://nkfr.baihongyu.com/