| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1088 人关注过本帖
标题:插入排序
取消只看楼主 加入收藏
lyjf110
Rank: 2
来 自:那梭
等 级:论坛游民
帖 子:83
专家分:16
注 册:2009-4-16
结帖率:96.3%
收藏
已结贴  问题点数:20 回复次数:5 
插入排序
#include<stdio.h>
#define MAX 20

int asc(int a[],int length)
{
    int i,j,t;
    for(i=0;i<length;i++)
    {
        for(j=i;j<length;j++)
            if(a[i]>a[j])
        {
                t=a[i];
                a[i]=a[j];
                a[j]=t;
        }
    }
}

void main(){
    int a[MAX];
    int n,i,j,m;
    printf("请输入数组的个数:");
    scanf("%d",&n);
    printf("请输入数组的各个元素值:\n");
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    asc(a,n);
    for(i=0;i<n;i++)
    {
        printf("%d  ",a[i]);
    }
    printf("\n请输入要插入的数:");
    scanf("%d",&m);
    while(a[i-1]>m)
    {
        a[i]=a[-1];
        a[i-1]=m;
    }

    for(i=0;i<n+1;i++)
        printf("%d",&a[i]);
    printf("\n");
}


红色的那段代码出问题了,帮忙改改吧。
新建 Microsoft Word 文档 (2).rar (12.01 KB)


[ 本帖最后由 lyjf110 于 2009-11-7 16:17 编辑 ]
搜索更多相关主题的帖子: include 怀化 
2009-11-07 16:11
lyjf110
Rank: 2
来 自:那梭
等 级:论坛游民
帖 子:83
专家分:16
注 册:2009-4-16
收藏
得分:0 
有几个地方不明白,想问一下
 if(a[i]>m)
     {
        for(p=n-1;p>=i;p--)
        a[p+1]=a[p];
        a[i]=m;
        break;
这里用了个 break,为什么,那样循环不会在第一次就停止吗?
还有,可不可以用while循环啊,该怎么用?
对了,还有,数组已经在输入的时候就排好序了,为什么还用嵌套循环啊?用单层循环不就够了吗?
请解答我的疑问谢谢!
2009-11-08 11:40
lyjf110
Rank: 2
来 自:那梭
等 级:论坛游民
帖 子:83
专家分:16
注 册:2009-4-16
收藏
得分:0 
我按上面的方法改过了,还是不行啊。
2009-11-08 20:57
lyjf110
Rank: 2
来 自:那梭
等 级:论坛游民
帖 子:83
专家分:16
注 册:2009-4-16
收藏
得分:0 
回复 7楼 m456m654
我输入的数已经在输入以后就排好序了,所以插入的数字只要从后面向前面比较就行了啊。
2009-11-09 13:19
lyjf110
Rank: 2
来 自:那梭
等 级:论坛游民
帖 子:83
专家分:16
注 册:2009-4-16
收藏
得分:0 
败给了一个很简单的问题,原来是在最后的输出结果里没有用空格把数字隔开,数字都连在一起了,看起来就像没得到想要的结果。
2009-11-09 13:26
lyjf110
Rank: 2
来 自:那梭
等 级:论坛游民
帖 子:83
专家分:16
注 册:2009-4-16
收藏
得分:0 
谢谢大家了
2009-11-09 13:27
快速回复:插入排序
数据加载中...
 
   



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

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