第3周(项目1)顺序表的基本运算
2015-09-14 16:48
351 查看
/* *Copyright(c)2014,烟台大学计算机学院 *All rights reserved *文件名称:体验复杂度 *作者:杜亭亭 *完成日期:2014.09.14 *版号:v1.0 * *问题描述:目的是要测试“建立线性表”的算法CreateList, 为查看建表的结果,需要实现“输出线性表”的算法DispList。 在研习DispList中发现,要输出线性表,还要判断表是否为空,这样,实现判断线性表是否为空的算法ListEmpty成为必要。 这样,再加上main函数,这个程序由4个函数构成。main函数用于写测试相关的代码。 *输入描述:无 *输出描述:5 8 7 2 4 9 */ #include <stdio.h> #include <malloc.h> #define MaxSize 50 //Maxsize将用于后面定义存储空间的大小 typedef int ElemType; //ElemType在不同场合可以根据问题的需要确定,在此取简单的int typedef struct { ElemType data[MaxSize]; //利用了前面MaxSize和ElemType的定义 int length; } SqList; //自定义函数声明部分 void CreateList(SqList *&L, ElemType a[], int n);//用数组创建线性表 void DispList(SqList *L);//输出线性表DispList(L) bool ListEmpty(SqList *L);//判定是否为空表ListEmpty(L) //实现测试函数 int main() { SqList *sq; ElemType x[6]= {5,8,7,2,4,9}; CreateList(sq, x, 6); DispList(sq); return 0; } //下面实现要测试的各个自定义函数 //用数组创建线性表 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; } //输出线性表DispList(L) void DispList(SqList *L) { int i; if (ListEmpty(L)) return; for (i=0; i<L->length; i++) printf("%d ",L->data[i]); printf("\n"); } //判定是否为空表ListEmpty(L) bool ListEmpty(SqList *L) { return(L->length==0); }
*运行结果:
*知识点总结:
/*(1)初始化线性表InitList(&L):构造一个空的线性表L (2)销毁线性表DestroyList(&L):释放线性表L占用的内存空间 (3)判线性表是否为空表ListEmpty(L):若L为空表,则返回真,否则返回假 (4)求线性表的长度ListLength(L):返回L中元素个数 (5)输出线性表DispList(L):当线性表L不为空时,顺序显示L中各节点的值域 (6)求线性表L中指定位置的某个数据元素GetElem(L,i,&e):用e返回L中第 i 个元素的值 (7)查找元素LocateElem(L,e):返回线性表L中第1个与e相等的序号,找不到返回0 (8)插入元素ListInsert(&L, i, &e):在线性表L中的第i个位置插入元素e; (9)删除元素ListDelete(&L, i, &e):在线性表L中删除第i个元素,有e返回删除的值; */
*心得体会:
运用视频中的知识点,加上动手操作,体会,加深了印象。
相关文章推荐
- Win8桌面变成desktop 更改方法介绍
- LoadRunner脚本回放问题及解决4
- 第三周顺序列表的基本运算
- java String常见十大问题
- Unity物理引擎:Rigidbody简介
- web_cache_server --> Varnish
- C++Primer第五版 4.4节练习
- fastjson生成JSON字符串的时候出现$ref [转]
- 项目1-c/c++语言中函数参数传递的三种方式
- 数据结构实践——顺序表的基本运算
- 游标的概念和作用
- python3 编码问题
- 程序员求职成功路(3)
- 编译hadoop的eclipse插件hadoop-eclipse-plugin
- php empty和isset的区别
- IOS网络第五天 AFN-01发送get和post请求
- ADB+adbWireless 抛开USB调试,接入无线调试
- jQuery获取select的text
- Error:Execution failed for task ':sample:dexDebug'. > com.android.ide.common.process.ProcessExceptio
- LoadRunner脚本回放问题及解决3