学习算法(3)——查找2个数组中的相同元素
来源:互联网 发布:安卓手机仿windows桌面 编辑:程序博客网 时间:2024/05/01 08:58
这一篇,是在2个数组中,找相同的值。
假设,这两个数组已经排好序(升序),那么只需要遍历一次即可。
首先设两个下标,分别初始化为两个数组的起始地址,依次向前推进 。推进的规则是比较两个数组中的数字,小的那个数组的下标向前推进一步,直到任何一个数组的下标到达数组末尾时,如果这时还没碰到相同的数字,说明数组中没有相同的数字。[1]
代码如下:
#include <QCoreApplication>#include <iostream>#include <map>#include <set>using namespace std;bool findcommon2(int a[], int size1, int b[], int size2, vector<int> &vec){ int i=0,j=0; while(i<size1 && j<size2) { if(a[i]==b[j]) { vec.push_back(a[i]); i++; j++; } if(a[i]>b[j]) j++; if(a[i]<b[j]) i++; } return false;}int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); int data[10] = {1,2,3,4,5,6,7,8,9,10}; int rt[15] = {5,6,7,8,9,10,11,12,13,14,15,16,17,18,19}; vector<int> vec; findcommon2(data, 10, rt, 15, vec); vector<int>::iterator it; it = vec.begin(); for (;it != vec.end(); ++it) { cout << *it << endl; } return a.exec();}//
参考文献:
[1] http://blog.csdn.net/lonelywinter340/article/details/3292843
---
0 0
- 学习算法(3)——查找2个数组中的相同元素
- 学习算法(2)——查找数组中的相同元素
- (lodash_gcy)unique—移除数组中的相同元素
- 2个有序数组,找出相同元素
- java获取2个数组中相同与不相同的元素(授权场景)
- 算法学习之数组元素查找
- 比较2个数组元素元素是否相同
- 2个数组中遍历相同元素或不同元素
- 写文章 JS找两个数组中的相同元素【算法】
- 设计一个更优算法查找一n个元素数组中的最大值和最小值
- 设计一个最优算法来查找n个元素数组中的最大值和最小值
- java数组:2个数组,查出相同的元素
- 两数组中的相同元素
- 查找数组中相同的元素
- 递归折半查找多个相同元素中的第一个或者最后一个
- Java对数组的操作(三)—比较两个数组中的元素是否相同的最简单方法
- 拼接2个数组,删除掉其中相同的元素
- 拼接2个数组,删除掉其中相同的元素
- 数据库应用优化(2)
- CppPrimer--顶层const与底层const
- linux网络编程之用select函数实现io复用(基于TCP)引发的思考
- PyCharm 使用 tricks
- python AES对称加密示例
- 学习算法(3)——查找2个数组中的相同元素
- Codeforces Round #402 (Div. 2) A题
- Spark聚类模型K-Means----来源Spark机器学习
- python爬虫设置请求消息头(headers)
- CppPrimer--数组名与指针& 函数名与函数指针
- 95. Unique Binary Search Trees II
- Android-TextView及其子类(TextView、EditText、Button)
- 随记
- Android事件传递机制