| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 872 人关注过本帖
标题:数组归并去重问题
取消只看楼主 加入收藏
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
结帖率:100%
收藏
 问题点数:0 回复次数:6 
数组归并去重问题
程序代码:
void merge(int c[], int *nc,int a[],int na,int b[], int nb)
{
    int cursora = 0;
    int cursorb = 0;
    int cursorc = 0;
    while((cursora<na)&&(cursorb<nb))
    {
        if (a[cursora]<= b[cursorb])
        {
            c[cursorc++]=a[cursora++];
        }

        else
        {
            c[cursorc++]=b[cursorb++];
        }
    }
    while(cursora<na)
    {
        c[cursorc++]=a[cursora++];
    }
    while(cursorb<nb)
    {
        c[cursorc++]=b[cursorb++];
    }
    *nc = cursorc;
}

这是一个数组归并的算法,假如a[3] = {1,2,3}; b[4] = {1,3,5,7}; 则合并后的数组为c[7]={1,1,2,3,3,5,7};
现在我想在这个代码上稍微改动一下 ,让它归并去重,得到的新数组为 c[5]={1,2,3,5,7};
我当然可以单独设计个子函数,对归并后的c[]进行去重,但是我现在不想这么弄,我现在就想在这个归并函数里面加上这个去重。

求助怎么弄???
2015-04-05 12:41
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
收藏
得分:0 
问题已解决。

授人以鱼,不如授人以渔
2015-04-05 14:36
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
收藏
得分:0 
回复 3楼 外部三电铃
程序代码:
void Merge(int c[], int *nc,int a[],int na,int b[], int nb)
{
    int cursora = 0;
    int cursorb = 0;
    int cursorc = 0;
    while((cursora<na)&&(cursorb<nb))
    {
        if (a[cursora]< b[cursorb])//这里加上等号 注掉下面的else if 就是一个归并  不去重
        {
            c[cursorc++]=a[cursora++];
        }
        else if(a[cursora] = b[cursorb])
        {
            c[cursorc++]=a[cursora++];
       
            cursorb++;    //现在是去重合并。加上elseif 上面的<= 改为<  如果这里只有 cursorb++; cursora++; 那么就是将重复的直接删掉
        }
        else
        {
            c[cursorc++]=b[cursorb++];
        }
    }
    while(cursora<na)
    {
        c[cursorc++]=a[cursora++];
    }
    while(cursorb<nb)
    {
        c[cursorc++]=b[cursorb++];
    }
    *nc = cursorc;
}

改动的地方在我汉字注释的地方

授人以鱼,不如授人以渔
2015-04-05 15:16
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
收藏
得分:0 
回复 5楼 longwu9t
提示: 该帖被管理员或版主屏蔽

授人以鱼,不如授人以渔
2015-04-05 16:15
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
收藏
得分:0 
回复 7楼 longwu9t
提示: 该帖被管理员或版主屏蔽

授人以鱼,不如授人以渔
2015-04-05 16:27
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
收藏
得分:0 
回复 9楼 longwu9t
提示: 该帖被管理员或版主屏蔽

授人以鱼,不如授人以渔
2015-04-05 16:36
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
收藏
得分:0 
回复 11楼 longwu9t
看不懂就算了 真是呵。。。呵了 写不写 一句话

授人以鱼,不如授人以渔
2015-04-05 16:42
快速回复:数组归并去重问题
数据加载中...
 
   



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

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