首页 > 编程语言 > 详细

两个有序数组的公共元素

时间:2016-01-07 08:51:39      阅读:251      评论:0      收藏:0      [点我收藏+]
#include <stdio.h>
#include <stdlib.h>

/*
	求两个有序数组的公共元素
*/

/*
	思路:
	由于数组由小到大存储,
	故若arr1[now1]<arr2[now2],
	则arr1在now1之前的项也不可能等于arr2[now2],
	故可将now1+1。
	反之同理。
*/

int main(){
	int arr1[] = {0,1,2,3,4,5,6,7,8};
	int arr2[] = {2,3,4,5,9};
	int len1 = 9, len2 = 5;
	for (int now1 = 0, now2 = 0; (now1 < len1) && (now2 < len2);){
		if (arr1[now1] == arr2[now2]){
			printf("%d ",arr1[now1]);
			now1++;
			now2++;
		}
		else if (arr1[now1] < arr2[now2])
			now1++;
		else
			now2++;
	}
	printf("\n");
	system("pause");
	return 0;
}

  

两个有序数组的公共元素

原文:http://www.cnblogs.com/mutaohengheng/p/5108039.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!