为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > ArrayList-求两个顺序表的交集,其中交集用第一个顺序表的空间

ArrayList-求两个顺序表的交集,其中交集用第一个顺序表的空间

2018-03-08 3页 doc 31KB 88阅读

用户头像

is_037433

暂无简介

举报
ArrayList-求两个顺序表的交集,其中交集用第一个顺序表的空间ArrayList-求两个顺序表的交集,其中交集用第一个顺序表的空间 List-ArrayList-求两个顺序表的交集(用第一个顺序表的空间) 假设以两个按元素值递增有序排列的线性表A和B分别表示两个集合,现要求另辟一个线性表C,其元素为A和B中元素的交集,并表C中的元素也依值递增有序排列。试对顺序表编写求C的算法。(C中不能存在相同的值,利用A表空间存放表C) #include #include #define LIST_INIT_SIZE 100 //顺序表的长度 typedef struct { //顺序表 ...
ArrayList-求两个顺序表的交集,其中交集用第一个顺序表的空间
ArrayList-求两个顺序的交集,其中交集用第一个顺序表的空间 List-ArrayList-求两个顺序表的交集(用第一个顺序表的空间) 假设以两个按元素值递增有序排列的线性表A和B分别表示两个集合,现要求另辟一个线性表C,其元素为A和B中元素的交集,并表C中的元素也依值递增有序排列。试对顺序表编写求C的算法。(C中不能存在相同的值,利用A表空间存放表C) #include #include #define LIST_INIT_SIZE 100 //顺序表的长度 typedef struct { //顺序表 int *elem; int length; } ArrayList; void initArrayList(ArrayList &arrayList) { //初始化一个顺序表 arrayList.elem = (int *)malloc(sizeof(int) * LIST_INIT_SIZE); arrayList.length = 0; } void enInitList(ArrayList &arrayList, int *e) { //将数组元素导入顺序表 int *p = e, i = 0; while(*p) { arrayList.elem[i] = *p; p ++; i ++; } arrayList.length = i; } void deleteList(ArrayList &A, int i) { //删除链表A中的第i个数值 if(i < 0 || i > A.length - 1) return ; int *p = &(A.elem[i]); int *q = A.elem + A.length - 1; for(p++; p<=q; p++) *(p - 1) = *p; --A.length; } void printList(ArrayList arrayList) { //打印顺序表 int i; for(i=0; i *q) { q ++; j ++; } else if(*p < *q) { deleteList(A, k); i ++; } else { p ++; i ++; k ++; q ++; j ++; if(k >= 1 && *p == *(p-1)) { //如果跟之前的重复,就删掉 deleteList(A,k); i ++; } } } } void main() { ArrayList A, B; initArrayList(A); initArrayList(B); int a[LIST_INIT_SIZE] = {1, 3, 4, 6, 6, 14, 34, 56, 78, 89, 100, 120}; int b[LIST_INIT_SIZE] = {2, 3, 5, 6, 6, 14, 34, 70, 78, 89, 100, 122}; enInitList(A, a); enInitList(B, b); printf("初始化的A:"); printList(A); printf("初始化的B:"); printList(B); intersectList(A, B); printf("转换后的A,此时A为A和B的交集:"); printList(A); printf("转换后的B:"); printList(B); }
/
本文档为【ArrayList-求两个顺序表的交集,其中交集用第一个顺序表的空间】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索