《数据结构与算法分析,C语言描述》 表,栈与队列部分课后习题。
Just a test,记录。
outPut:
Array No.1:2 4 5 7 10 23 Array No.2:3 4 7 13 22 30 Sum intersection:2 4 7 Sum union section:10 2 3 4 5 7 10 13 22 23 30
Code:
//Code by Pnig0s1992 //Date:2012,3,22 #include <stdio.h> #include <Windows.h> #define MAX_ITEM 12 int getInterSection(int arr1[],int arr2[],int arrRc[]); int getUnionSection(int arr1[],int arr2[],int arrRc[]); int main(int argc,char ** argv) { int index = 0; int iArray1[6] = {2,4,5,7,10,23}; int iArray2[6] = {3,4,7,13,22,30}; int iResult[MAX_ITEM]; printf("\nArray No.1:"); for(index = 0;index< 6;index++) { printf("%d ",iArray1[index]); } printf("\nArray No.2:"); for(index = 0;index<6;index++) { printf("%d ",iArray2[index]); } int sumInter = getInterSection(iArray1,iArray2,iResult); printf("\nSum intersection:%d\n",sumInter); for(int i=0;i<sumInter;i++) { printf("%d ",iResult[i]); } int sumUnion = getUnionSection(iArray1,iArray2,iResult); printf("\nSum union section:%d\n",sumUnion); for(int j = 0;j<sumUnion;j++) { printf("%d ",iResult[j]); } system("pause"); return 0; } int getInterSection(int arr1[],int arr2[],int arrRc[]) { int i = 0; int j = 0; int k = 0; while(i<6&&j<6) { if(arr1[i] == arr2[j]) { arrRc[k] = arr1[i]; i++,j++,k++; } else if(arr1[i] < arr2[j]) i++; else j++; } return k; } int getUnionSection(int arr1[],int arr2[],int arrRc[]) { int i = 0,j=0,k=0; while(i<6 && j<6 ) { if(arr1[i] < arr2[j]) { arrRc[k] = arr1[i]; i++,k++; }else if(arr1[i] > arr2[j]) { arrRc[k] = arr2[j]; j++;k++; }else { arrRc[k] = arr1[i]; i++,j++,k++; } } if(i<6) { for (;i<6;i++) { arrRc[k++] = arr1[i]; } }else if(j<6) { for (;j<6;j++) { arrRc[k++] = arr2[j]; } } return k; }
本文出自 “About:Blank H4cking” 博客,请务必保留此出处http://pnig0s1992.blog.51cto.com/393390/813949
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索算法
, 数据结构
, int
, 描述的数据结构与算法
, 课后习题答案
, printf
, include
, index
, 有序表
, 算法 正则 java 交集
, Python并集
并集
,以便于您获取更多的相关知识。
时间: 2024-09-20 22:07:39