链表实现集合实验报告.doc

链表实现集合实验报告

线性表实现实验报告 班级:计算机2班 学号: 姓名: 1.需求分析 2 1.1输入的形式和输入值的范围 2 1.2输出的形式 2 1.3程序的功能 2 1.4数据测试 2 2.概要设计 3 2.1主程序流程 3 2.2数据定义类型 3 2.3函数调用 3 3.详细设计 4 3.1函数设计 5 3.1.1 函数申明 5 3.1.2程序运行过程中的常量 5 3.1.3 结构体 5 3.1.4 int LinkLocate_L (Linklist *L, int x) 5 3.1.5 int ListInsert_L( Linklist *L, int i, ElemType e ) 6 3.1.6 status INlist( Linklist *L, int i, ElemType *e ) 7 3.1.7 void CreateList_L(Linklist *L, int n) 8 3.1.8 void HHHGG( Linklist *L ) 8 3.1.9 void BJ( Linklist *La, Linklist *Lb ) 9 3.1.10 void JJ( Linklist *La, Linklist *Lb ) 10 3.1.11 void CJ( Linklist *La, Linklist *Lb ) 11 3.1.12 void PKJ( Linklist *La ) 12 4 调试分析 13 4.1 调试过程中遇到的问题及分析 13 4.2 问题的解决办法 13 4.3 总结回顾 13 4.4 算法的时空分析 13 5测试结果 13 5.1集合的输入 13 5.2集合的插入 14 5.3集合的删除 14 5.4集合的查找 14 5.5集合的合集 15 5.6集合的交集 16 5.7集合的差集 16 5.8集合的判空 17 6源代码 17 1.需求分析 1.1输入的形式和输入值的范围 输入形式:整数 输入范围:整数 集合长度不能超过1000 1.2输出的形式 用空格分开的一列数 1.3程序的功能 据课上给出的线性表ADT定义,实现集合的(初始化、插入、删除、查找、交集、并集、差集、判空集) 1.4数据测试 线性表长度:6 元素:4 5 6 7 9 10 2.概要设计 2.1主程序流程 void main(){ //申请内存 Linklist *La = (Linklist*)malloc(sizeof(Linklist)); Linklist *Lb = (Linklist*)malloc(sizeof(Linklist)); ElemType *e = (ElemType*)malloc(sizeof(ElemType)); int n, n1;//中间变量 //集合的长度赋值 printf( 请输入集合的长度: ); scanf( %d, n ); //输入集合的元素 CreateList_L( La, n ); //查找 printf( \n ); printf( 查找结果: ); LinkLocate_L( La, 3 ); //删除并输出 INlist( La,1,*e ); printf( 删除后的结果: ); HHHGG(La); //插入并输出 ListInsert_L( La,1,8 ); printf( 插入后的结果: ); HHHGG(La); //集合的长度赋值 printf( \n请输入集合的长度: ); scanf( %d, n1 ); //输入集合的元素 CreateList_L( Lb, n1 ); //查找 printf( \n ); printf( 查找结果: ); LinkLocate_L( Lb, 3 ); //删除并输出 INlist( Lb,1,*e ); printf( 删除后的结果: ); HHHGG(Lb); //插入并输出 ListInsert_L( Lb,1,7 ); printf( 插入后的结果: ); HHHGG(Lb); //交集 JJ( La, Lb ); //差集 CJ( La, Lb ); //判空集 PKJ( La ); //并集 BJ( La, Lb ); } 2.2数据定义类型 #define ElemType int #define status int 2.3函数调用 /************************************* 功能:查找集合中的元素 参数:需要查找的元素、指针头地址 返回

文档评论(0)

1亿VIP精品文档

相关文档