问题:
/*
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)初始化线性表InitList(&L):构造一个空的线性表L
(2)销毁线性表DestroyList(&L):释放线性表L占用的内存空间
(3)判线性表是否为空表ListEmpty(L):若L为空表,则返回真,否则返回假
学习心得:
1.一定要对线性表进行初始化
【第三周实践1--顺序表的基本顺序(1)建立线性表】2.对于线性表的逻辑过程要用笔在纸上画一画
推荐阅读
- C语言学习|第十一届蓝桥杯省赛 大学B组 C/C++ 第一场
- 【C】题目|【C语言】题集 of ⑥
- 单片机|自学单片机好找工作吗(会单片机能找什么工作?)
- 单片机|keil把源代码生成lib的方法
- c语言|一文搞懂栈(stack)、堆(heap)、单片机裸机内存管理malloc
- c语言|C语言初期学习遇到的特殊点 【三子棋详解】【初学者福音,详细总结,复习能手】
- 笔记|C语言数据结构——二叉树的顺序存储和二叉树的遍历
- 个人理解|【C语言基础之类型转换】
- c语言|【C语言】自定义类型 结构体 枚举 联合
- 学习分享|【C语言函数基础】