| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 437 人关注过本帖
标题:插入排序后将两数组合并排序出问题!
只看楼主 加入收藏
我不过去
Rank: 2
等 级:论坛游民
帖 子:18
专家分:42
注 册:2011-6-11
结帖率:100%
收藏
已结贴  问题点数:15 回复次数:2 
插入排序后将两数组合并排序出问题!
#include <stdio.h>
#include <stdlib.h>

int *sort(int da[])
{
    int i,j,t;
    for (i=0;i<9;i++)
    {
        for(j=i;j<10;j++)
        {
            if(da[i]>da[j])
            {
                t=da[i];da[i]=da[j];da[j]=t;
            }
        }
    }
    return da;
}

int *combine(int *x1,int *x2)
{
    int i=0,j=0,m=0;
    int *sorted;
    do
    {
        if(*(x1+i)<=*(x2+j))
            *(sorted+m++)=*(x1+i++);
        else
            *(sorted+m++)=*(x2+j++);
        
    }while(i+j<19);
    return sorted;
}
void main()
{
    int i;
    int *a2,*b2,*a3;
    int a1[10]={11,3,21,5,13,41,23,22,9,10},b1[10]={1,2,33,27,34,19,18,42,7,20};
    a2=sort(a1);
    b2=sort(b1);
    a3=combine(a2,b2);
    for(i=0;i<20;i++)
        printf("%d,",*(a3+i));
        system("pause");
   
}
搜索更多相关主题的帖子: include return 
2011-06-26 14:08
爱编程的艾
Rank: 2
等 级:论坛游民
帖 子:19
专家分:38
注 册:2011-4-16
收藏
得分:15 
很明显你那个sorted指针乱指了,因为你没有给他开辟空间:定义完sorted之后再加行代码:sorted=(int*)malloc(sizeof(int)*20);
2011-06-26 16:47
我不过去
Rank: 2
等 级:论坛游民
帖 子:18
专家分:42
注 册:2011-6-11
收藏
得分:0 
严重感谢!!
2011-06-26 22:22
快速回复:插入排序后将两数组合并排序出问题!
数据加载中...
 
   



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

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