C语言排序系列之插入排序(1)
插入排序是最简单最粗暴的排序方式,其基本思想是:对于已经有序的前i-1个数字,将第i个数字插入至合适位置
时间复杂度为:O(n^2)
/*插入排序
时间复杂度:O(n^2)
*/
#include<stdio.h>
void Swap(int *a,int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
void InsertSort(int data[],int length)
{
int i = 0;
int j = 0;
for(i = 1;i < length;++i)
{
for(j = i;j > 0;--j)
{
if(data[j] < data[j - 1])
{
Swap(&data[j], &data[j - 1]);
}
else
{
break;
}
}
}
}
int main()
{
int data[8] = {4,7,2,6,5,9,3,8};
int i = 0;
InsertSort(data,8);
for(i = 0;i < 8;i++)
{
printf("%d ",data[i]);
}
printf("\n");
getchar();
return 0;
}
摘自 泡泡腾
补充:软件开发 , C语言 ,