第三周 项目1-顺序表的基本运算

来源:互联网 发布:encore制谱软件 编辑:程序博客网 时间:2024/05/09 08:47
/* *Copyright(c) 2015, 烟台大学计算机学院 *All rights reserved. *文件名称:顺序表的基本运算.cpp *作    者:周洁 *完成日期:2015年 9月18日 *版 本 号: * *问题描述:实现顺序表基本运算有算法,依据“最小化”的原则,指的是利用尽可能少的基本运算,组成一个程序,并设计main函数完成测试。作为第一个这种类型的实践,目的是要测试“建立线性表”的算法CreateList,为查看建表的结果,需要实现“输出线性表”的算法DispList。在研习DispList中发现,要输出线性表,还要判断表是否为空,这样,实现判断线性表是否为空的算法ListEmpty成为必要。这样,再加上main函数,这个程序由4个函数构成。main函数用于写测试相关的代码。 *输入描述:若干数字 *程序输出:若干数字 */程序代码:#include <stdio.h>#include <malloc.h>#define MaxSize 50    //用于定义存储空间的大小typedef int ElemType;  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);}


 

运行结果:

 

知识点总结:

顺序表的建立,输出和判断是否为空

 学习心得:

我们刚刚接触博客,还不太习惯发博文,但是以后会慢慢习惯的。

0 0