您的位置:首页 > 其它

直接插入排序

2012-12-19 17:01 344 查看
直接插入排序:

时间复杂度: O(n2)

空间复杂度: O(1)

稳定&简单

#include <stdio.h>

#define swap(x,y) { int tmp; tmp = x; x = y; y = tmp;}

void print_array(int *array, int num)
{
int i;
for(i = 0; i < num; i++)
{
printf("%d ", array[i]);
}
printf ("\n");
}

void direct_sort(int *array, int num)
{
int i, j;

for(i = 0; i < num; i++)
{
for( j = i + 1; j > 0; j--)
{
if(array[j] < array[j - 1])
{
swap(array[j], array[j-1]);
}
}
}

}

int main()
{
int array[10] = {2, 5, 8, 3, 1, 7, 9, 6, 0, 4};
direct_sort(array, 10);
print_array(array, 10);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: