重写插入排序,按照升序排序
按照原有的插入排序算法,只需要改变交换值的判断条件即可:
此处贴上代码仅供参考:
#include<stdio.h>
int main(void) {
int number[10]={11,51,31,21,61,41,71,91,81,101};
int key,j;
for(int i=1;i<10;i++) {
key=number[i];
j=i-1;
while(**number[j]<key**&&j>=0) {
number[j+1]=number[j];
j--;
}
number[j+1]=key;
}
for(int i=0;i<10;i++) {
printf("%d ",number[i]);
}
}
输出示例如下:
在升序的基础上只需要将在while循环中的条件number[j]>key改成number[j]<key即可。
//
鄙人第一次写博客 讲的可能有错误,也可能讲的不明白,有问题可以提出来,大家一起学习,一起进哈!