合并两个数组并删除重复的元素
来源:互联网 发布:英语四级语法软件 编辑:程序博客网 时间:2024/05/14 12:06
一直有两个数组,去除重复的元素,并把两个数组合并
思路:
把数组b中的元素取出与数组a中的每一个元素相比较,在数组a中存在,则不添加到数组a中; 如果不存在,则直接加到数组a中。
满足条件:
数组a的空间要大
#include <iostream>
using namespace std;
class ArrayMerger
{
int a[40];
int b[40];
int numa, numb;
public:
ArrayMerger(int x[], int len1, int y[], int len2)
{
numa = len1;
numb = len2;
// 初始化数组
for (int i = 0; i < len1; i++)
{
a[i] = x[i];
}
for (int i = 0; i < len2; i++)
{
b[i] = y[i];
}
}
// 判断数组b中的元素是否在数组a中
int NotIn(int elem, int s[], int size)
{
for (int i = 0; i < size; i++)
{
if (s[i] == elem)
return 0;
}
return 1;
}
// 将数组b中不重复的元素插入到数组a中
void insert();
// 输出合并后的数组
void outPut()
{
cout << "合并后的数组a的个数" << numa << endl;
for (int i = 0; i < numa; i++)
{
cout << a[i] << " ";
}
cout << endl;
}
};
void ArrayMerger::insert()
{
int i = 0;
int count = numa;
while(i < numb)
{
if (NotIn(b[i], a, count) != 0)
{
a[numa++] = b[i];
}
i++;
}
}
int main()
{
int a[]={7,9,2,4,6,8};
int b[]={5,2,3,4,9,6};
ArrayMerger set(a, sizeof(a)/sizeof(int), b, sizeof(b)/sizeof(int));
set.insert();
set.outPut();
}
- 合并两个数组并删除重复的元素
- 数组合并并删除重复的元素
- 合并两个顺序表,并删除重复元素
- 如何把两个数组进行合并,并删除它们的相同元素
- 合并两个有序的数列并删除重复数据
- 两个有序数组合并,并去重复
- 合并有重复元素的两个有序数组,输出无重复元素
- 数组合并删除两个相同元素方法
- C#删除数组重复元素并输出
- 删除数组的重复元素
- java 两个int数组删除重复的数字,并返回删除后的数组
- [Object C]_[初级]_[两个数组共有元素的提取,删除,数组的合并]
- 整形数组合并(STL vector删除重复元素)
- 合并两个数组,两者重复的删除,单着重复的出现一个。
- 两个有序数组的合并排序,Java代码实现,并去重复,考虑空间利用率问题
- 关于数组的.sort()方法案例:删除数组中重复的元素并排序
- 删除有序数组中的重复元素,并返回数组的新长度
- 删除两个升序正数组中重复元素的C程序实现代码
- C typedef和#define的区别
- ASP.Net前台数据校验
- HTML入门学习笔记--CSS三大特性(4)
- register 关键字的作用
- 关于hadoop中maptask运行切片前,运行的文件有大量小文件问题
- 合并两个数组并删除重复的元素
- 转载:未来可能是这样子,极端烧脑的《未来简史》解读
- vue树形组件
- JZOJ4927. 第K大
- zoj1202
- 理解dropout
- Android的目录结构
- MATLAB之符号计算
- 《潜伏》演员吉思光被以抢劫罪批捕 曾与刘晓庆搭戏(1)