第三周实践1--顺序表的基本顺序(1)建立线性表

问题:

/* Copyright (c)2015,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:项目1--顺序表的基本顺序(1)建立线性表.cpp 作者:朱振华 完成日期:2015年9月21日 版 本 号:v1.0问题描述:目的是要测试“建立线性表”的算法CreateList,为查看建表的结果, 需要实现“输出线性表”的算法DispList。在研习DispList中发现, 要输出线性表,还要判断表是否为空,这样,实现判断线性表是否 为空的算法ListEmpty成为必要。这样,再加上main函数,这个程序 由4个函数构成。main函数用于写测试相关的代码。 输入描述:# 程序输出:用于测试的数字。 */


代码:
#include #include #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; idata[i]=a[i]; L->length=n; }//输出线性表DispList(L) void DispList(SqList *L) { int i; if (ListEmpty(L)) return; for (i=0; ilength; i++) printf("%d ",L->data[i]); printf("\n"); }//判定是否为空表ListEmpty(L) bool ListEmpty(SqList *L) { return(L->length==0); }

运行结果:
第三周实践1--顺序表的基本顺序(1)建立线性表
文章图片


知识点总结:
(1)初始化线性表InitList(&L):构造一个空的线性表L
(2)销毁线性表DestroyList(&L):释放线性表L占用的内存空间
(3)判线性表是否为空表ListEmpty(L):若L为空表,则返回真,否则返回假
学习心得:
1.一定要对线性表进行初始化
【第三周实践1--顺序表的基本顺序(1)建立线性表】2.对于线性表的逻辑过程要用笔在纸上画一画

    推荐阅读