• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
feng_er
博客园    首页    新随笔    联系   管理    订阅  订阅

插入排序

插入排序是指维护一个有序序列,每次从无序序列中选择一个元素,将其插在有序序列的合适位置,形成一个新的有序序列,知道无序序列为空。

代码如下:

 1 void sort(int *p, int n)
 2 {   
 3      int temp;
 4      for(int i = 0; i < n; i++)
 5          {
 6          temp = p[i];
 7          for(int j = i-1; j >=0; j--)
 8              {
 9               if(temp < p[j])
10                  p[j+1] = p[j];
11              else
12                  {
13                  p[j+1] = temp;
14                  break;    
15                  }                  
16              }
17          }
18 }

同样的,插入排序也为两层循环,时间复杂度为O(n^2);

posted @ 2017-07-09 09:17  feng_er  阅读(113)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3