| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 493 人关注过本帖
标题:我这个算是插入排序吗,为什么我觉得这么简单?
取消只看楼主 加入收藏
snailqiu
Rank: 2
等 级:论坛游民
帖 子:59
专家分:45
注 册:2007-9-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
我这个算是插入排序吗,为什么我觉得这么简单?

不会搞成了冒泡吧?
void InsertSort(int k[],int len)
{
    int i,j,t;
    for(i=1;i<len;i++)
      for(j=i-1;j>=0;j--)
      {
          if(k[j+1]<k[j])
          {
              t=k[j+1];
              k[j+1]=k[j];
              k[j]=t;
          }
      }
}
2013-07-25 17:34
snailqiu
Rank: 2
等 级:论坛游民
帖 子:59
专家分:45
注 册:2007-9-26
收藏
得分:0 
看着感觉和冒泡差不多。
2013-07-25 17:39
snailqiu
Rank: 2
等 级:论坛游民
帖 子:59
专家分:45
注 册:2007-9-26
收藏
得分:0 
回复 5楼 peach5460
可是我仔细想了想,觉得应该是啊。
我是不断将a[j]插入到前面a[0…j-1]的有序区间,用数据交换代替数据后移。如果a[j]前一个数据a[j-1] > a[j],就交换a[j]和a[j-1],再j--直到a[j-1] <= a[j]。这样不就是将一个新数据新并入到有序区间吗?
我是哪里想错了。
2013-07-25 20:55
快速回复:我这个算是插入排序吗,为什么我觉得这么简单?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011419 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved