Chinaunix首页 | 论坛 | 博客
  • 博客访问: 123009
  • 博文数量: 32
  • 博客积分: 506
  • 博客等级: 下士
  • 技术积分: 257
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-11 11:06
文章分类

全部博文(32)

文章存档

2012年(32)

分类: C/C++

2012-10-17 16:26:01

时间复杂度是Θ(n2)

点击(此处)折叠或打开

  1. #include <stdio.h>
  2. #define LEN 5
  3. int a[LEN] = { 10, 5, 2, 4, 7 };
  4. void insertion_sort(void)
  5. {
  6.  int i, j, key;
  7.  for (j = 1; j < LEN; j++)
  8.  {
  9.     printf("%d, %d, %d, %d, %d\n", a[0], a[1], a[2], a[3], a[4]);
  10.     key = a[j];
  11.     i = j - 1;
  12.     while (i >= 0 && a[i] > key)
  13.     {
  14.        a[i+1] = a[i];
  15.        i--;
  16.     }
  17.     a[i+1] = key;
  18.  }
  19.  printf("%d, %d, %d, %d, %d\n", a[0], a[1], a[2], a[3], a[4]);
  20. }
  21. int main(void)
  22. {
  23.     insertion_sort();
  24.     return 0;
  25. }
程序运行结果是:
10, 5, 2, 4, 7
5, 10, 2, 4, 7
2, 5, 10, 4, 7
2, 4, 5, 10, 7
2, 4, 5, 7, 10
阅读(976) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~