点击(此处)折叠或打开
- /*求两个整型数组的异集,即A+B-(A与B的交集)。*/
- #include <iostream>
- using namespace std;
- int search_one(int num, int *b_set_p, int b_set_size);
- int
- main(int argc, char *argv[])
- {
- int array_a[] = {2, 3, 4, 8, 23, 21, 68, 79, 9, 15, 19};
- int array_b[] = {23, 68, 94, 74, 89, 70, 20, 15};
- int array_a_size, array_b_size;
- array_a_size = sizeof(array_a)/sizeof(int);
- array_b_size = sizeof(array_b)/sizeof(int);
- int i;
- cout << "different at array_a:" << endl;
- for(i = 0; i < array_a_size; i++){
- if(!search_one(array_a[i], array_b, array_b_size)){
- /*打印出该元素*/
- cout << array_a[i] << " ";
- }
- }
- cout << endl << "different at array_b:" << endl;
- for(i = 0; i < array_b_size; i++){
- if(!search_one(array_b[i], array_a, array_a_size)){
- /*打印出该元素*/
- cout << array_b[i] << " ";
- }
- }
- cout << endl << "array_a and array_b have the same elements:" <<endl;
- for(i = 0; i < array_a_size; i++){
- if(search_one(array_a[i], array_b, array_b_size)){
- /*打印出该元素*/
- cout << array_a[i] << " ";
- }
- }
- return 0;
- }
- /*在B集合里寻找一个元素,找到返回非零,否则返回零。*/
- int
- search_one(int num, int *b_set_p, int b_set_size)
- {
- int i;
- for(i = 0; i < b_set_size; i++){
- if(num == *(b_set_p+i))
- return 1;
- }
- return 0;
- }