标题:二路归并问题
只看楼主
darien
Rank: 2
等 级:论坛游民
帖 子:7
专家分:27
注 册:2013-10-28
结帖率:100%
已结贴  问题点数:10 回复次数:3 
二路归并问题
二路归并,但是一直不输出结果,光标停在那,请高手 解答
#include<stdio.h>
#include<stdlib.h>
void merge(int A[],int B[],int low,int mid,int high)
{
    int i,j,k,m;
    m=0;
    for(i=low;i<=high;i++)
        B[i]=A[i];
    for(i=low,j=mid+1,k=i;i<=mid&&j<=high;k++);
    {
        if(B[i]>B[j])
        {
            A[k]=B[j++];
        }
        else
            A[k]=B[i++];
    }
    while(i<=mid)
        A[k++]=B[i++];
    while(j<=high)
        A[k++]=B[j++];
}
void count(int A[],int B[],int low,int high)
{
    if(low<high)
    {
        int mid=(low+high)/2;
        count(A,B,low,mid);
        count(A,B,mid+1,high);
        merge(A,B,low,mid,high);
    }
}
int main()
{
    int a[7];
    int data[]={1,6,8,2,9,10,3};
    count(data,a,0,6);
    for(int i=0;i<7;i++)
        printf("%d\n",data[i]);
    return 0;
}

搜索更多相关主题的帖子: include count 
2013-10-29 19:15
loveClangage
Rank: 8Rank: 8
来 自:广东云浮
等 级:蝙蝠侠
帖 子:326
专家分:891
注 册:2013-8-23
得分:5 
你要说说你写这是干什么吧,要看你实现什么,说清楚,

编写的程序,不能改变世界,却可以改变自己...
2013-10-29 21:16
冬2509102
Rank: 2
等 级:论坛游民
帖 子:32
专家分:33
注 册:2013-9-14
得分:5 
请说清楚功能
2013-10-29 21:43
darien
Rank: 2
等 级:论坛游民
帖 子:7
专家分:27
注 册:2013-10-28
得分:0 
数组的二路归并啊,就是将数组data[]={1,6,8,2,9,10,3};从小到大排序
2013-10-29 23:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-422718-1-1.html




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

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