c++之数组篇2:计算两个有序数组的交集
#include <iostream> //using namespace std; int mixed(int arr1[],int n1,int arr2[],int n2,int* mix ) { int i = 0; int j = 0; int k = 0; //mix = new int[n1]; while (i < n1 && j < n2) { if(arr1[i] == arr2[j]) { mix[k++] = arr1[i]; //k++; i++; j++; } else if (arr1[i]>arr2[j]) j++; else if (arr1[i]<arr2[j]) i++; } return k; } int main() { int *m = NULL; //存储相同元素的指针 int num;//存储两个数组相同元素个数 int a[] = {0,1,2,3,4}; int b[] = {1,3,5,7,9}; int len1 = sizeof(a)/sizeof(a[0]); int len2 = sizeof(b)/sizeof(b[0]); m = new int[len1]; num = mixed(a,len1,b,len2,m); printf("两数组相同元素个数: %d ",num); printf("相同元素为: "); for(int i = 0;i < num;i++) printf("%d",m[i]); return 0; }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: openCV的.ptr智能指针的简单使用
- 下一篇: 使用EL调用Java方法