#include <stdio.h>
void println(int array[], int len)
{
int i = 0;
for(i=0; i<len; i++)
{
printf("%d ", array[i]);
}
printf("\n");
}
void InsertSort(int* array,int len)
{
int i = 0,j = 0;
for(i = 1;i < len;i++){
int k = i;//这个k到最后有可能会变成比i小的值(第i个元素比他前面的一些元素还要小),或者不变(第i个元素比他前面的第i-1个要打),必须要
int temp = array[k];//作为临时变量存储第i个元素的值,必须要
for(j= i-1;(j >= 0) && (array[j] >= temp);j--){
array[j+1] = array[j];
k = j;
}
array[k] = temp;
}
}
int main()
{
int array[] = {21, 25, 49, 25, 16, 8};
int len = sizeof(array) / sizeof(*array);
println(array, len);
InsertSort(array, len);
println(array, len);
return 0;
}
插入排序
最新推荐文章于 2023-09-23 17:47:53 发布