第三周项目3
来源:互联网 发布:铁路运输数据 编辑:程序博客网 时间:2024/06/05 19:26
/*
*Copyright (c)2017,烟台大学计算机与控制工程学院
*All rights reservrd.
*文件名称 :test.cpp
*作者:杜昕晔
*完成时间:2017年9月7日
*版本号:v1.0
*问题描述:求集合并集
问题及代码:
#include "list.h"#include <stdio.h>void unionList(SqList *LA, SqList *LB, SqList *&LC){ int lena,i; ElemType e; InitList(LC); for (i=1; i<=ListLength(LA); i++) //将LA的所有元素插入到Lc中 { GetElem(LA,i,e); ListInsert(LC,i,e); } lena=ListLength(LA); //求线性表LA的长度 for (i=1; i<=ListLength(LB); i++) { GetElem(LB,i,e); //取LB中第i个数据元素赋给e if (!LocateElem(LA,e)) //LA中不存在和e相同者,插入到LC中 ListInsert(LC,++lena,e); }}void CreateList(SqList *&L, ElemType a[], int n) //用数组创建线性表 { int i; L=(SqList *)malloc(sizeof(SqList)); for (i=0; i<n; i++) L->data[i]=a[i]; L->length=n; } void DispList(SqList *L) //输出线性表DispList(L) { int i; if (ListEmpty(L)) return; for (i=0; i<L->length; i++) printf("%d ",L->data[i]); printf("\n"); } bool ListEmpty(SqList *L) //判定是否为空表ListEmpty(L) { return(L->length==0); } int ListLength(SqList *L) //求线性表的长度ListLength(L) { return(L->length); } bool GetElem(SqList *L,int i,ElemType &e) //求某个数据元素值GetElem(L,i,e) { if (i<1 || i>L->length) return false; e=L->data[i-1]; return true; } int LocateElem(SqList *L, ElemType e) //按元素值查找LocateElem(L,e) { int i=0; while (i<L->length && L->data[i]!=e) i++; if (i>=L->length) return 0; else return i+1; } void InitList(SqList *&L) //初始化线性表 { L=(SqList *)malloc(sizeof(SqList)); L->length=0; } bool ListInsert(SqList *&L,int i,ElemType e) { int j; if(i<1||i>L->length+1) return false; i--; for(j=L->length;j>i;j--) L->data[j]=L->data[j-1]; L->data[i]=e; L->length++; return true; } bool ListDelete(SqList *&L,int i,ElemType &e) { int j; if(i<1||i>L->length) return false; i--; e=L->data[i]; for(j=i;j<L->length-1;j++) L->data[j]=L->data[j+1]; L->length--; return true; } void DestroyList(SqList *&L) { free(L); } //用main写测试代码int main(){ SqList *sq_a, *sq_b, *sq_c; ElemType a[6]= {5,8,7,2,4,9}; CreateList(sq_a, a, 6); printf("LA: "); DispList(sq_a); ElemType b[6]= {2,3,8,6,0}; CreateList(sq_b, b, 5); printf("LB: "); DispList(sq_b); unionList(sq_a, sq_b, sq_c); printf("LC: "); DispList(sq_c); return 0;}
运行结果:
学习心得:
巩固了顺序表的运算的代码,进一步了解了其使用方法。
阅读全文
0 0
- 第三周项目3
- 第三周项目-3
- 第三周项目3
- 第三周项目3
- 第三周项目3
- 第三周【项目3
- 第三周项目3
- 第三周 【项目3
- 第三周项目3
- 第三周项目3
- 第三周项目3
- 第三周项目3
- 第三周【项目3
- 第三周:项目3
- 第三周项目3
- 第三周 【项目3
- 第三周 【项目3
- 第三周项目一(3)
- html和activity之间交互
- 安装Qt及相关问题解决
- 快速解决Android中的SELinux权限问题
- mysql语句执行超时设置
- 微信刷卡支付子商户(服务商)
- 第三周项目3
- Bluetooth Remote Controller Linux Kernel Key Report Flow
- $('div').click()事件不能用
- MySQL Update inner join数据库去重,以及根据一张表的值更新另一张表
- DB2 Load命令与DB2_LOAD_COPY_NO_OVERRIDE 注册表变量
- 《Modern Python Cookbook》(Python编程范例)笔记1.2 命名
- 传输层-4、TCP协议
- 计算今年和去年的时间,一个月的都是,用来计算同比
- 2.22 网络基础