主题:[原创]算法知识谱及--001:::插入排序
//插入排序算法,对集合进行原地排序
#include <stdio.h>
int main()
{
int i, j, key;
int sort[10] = {6, 5, 4, 9, 3, 0, 8, 2, 1, 7};
for(i = 1; i < 10; i++){ //从集合的第2个元素开始循环
key = sort[i]; //将第i个的元素值赋给key
j = i - 1;
while(j >= 0 && sort[j] > key){ //如果j下标还有元素,并且j元素大于j+1元素
sort[j+1] = sort[j]; //交换j与j+1元素
j--;
sort[j+1] = key;
}
}
for(i = 0; i< 10; i++){
printf("%d\n",sort[i]);
}
return 0;
}
#include <stdio.h>
int main()
{
int i, j, key;
int sort[10] = {6, 5, 4, 9, 3, 0, 8, 2, 1, 7};
for(i = 1; i < 10; i++){ //从集合的第2个元素开始循环
key = sort[i]; //将第i个的元素值赋给key
j = i - 1;
while(j >= 0 && sort[j] > key){ //如果j下标还有元素,并且j元素大于j+1元素
sort[j+1] = sort[j]; //交换j与j+1元素
j--;
sort[j+1] = key;
}
}
for(i = 0; i< 10; i++){
printf("%d\n",sort[i]);
}
return 0;
}