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

不会搞成了冒泡吧?
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
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:10 
不是插入排序法,下面是参考代码。
#include <stdio.h>

void main()

{ int i,j,p,q,s,n;

int a[11]={162,127,105,87,68,54,28,18,6,3};

printf("input number:\n");

scanf("%d",&n);

for(i=0;i<10;i++)

if(n>a[i])

{

for(s=9;s>=i;s--)

a[s+1]=a[s];

break;

}

a[i]=n;

for(i=0;i<=10;i++)

printf("%d ",a[i]);

printf("\n");

}

思考赐予新生,时间在于定义
2013-07-25 18:31
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:0 
下面的是插入一个数到随机数组中,然后排序的函数!
程序代码:
 /*使用插入排序对一个随机序列进行排序*/

void charupx(int before[],int m) //获取一个数组,m表示它的元素个数

{

int varout,varin,temp;

for (varout=1;varout<m;varout++)

{

temp=before[varout]; //这是目标数(假设的)

varin=varout-1while(varin>=0&&temp<before[varin])

{

before[varin+1]=before[varin]; //所有数组下标向后一个,值不变

varin--; //看前一个数是否还要移动

}

before[varin+1]=temp; //插入

}

}

  

思考赐予新生,时间在于定义
2013-07-25 18:35
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:10 
看你这两个for,应该不是插入

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-07-25 19:09
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.037573 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved