问题及代码
/*
*Copyright(c)2017,烟台大学计算机学院
*All right reserved.
*文件名:main.cpp a.h a.cpp
*作者:王万兴
*完成日期:2017年9月14日
*版本号:v1.0
*
*问题描述:线性表的建立
*输入描述:无
*程序输出:线性表
*/
//main函数
#include "list.h"
using namespace std;
int main()
{
SqList *sq;
ElemType x[6]= {5,8,7,2,4,9};//输入线性表的数据
CreateList(sq, x, 6);//线性表的建立及数据的输入
DispList(sq);//线性表的输出,判断线性表是否为空
return 0;
}
//list.h头文件
#ifndef LIST_H_INCLUDED
#define LIST_H_INCLUDED
#define MaxSize 50
typedef int ElemType;
typedef struct
{
ElemType data[MaxSize];
int length;
} SqList;
void CreateList(SqList *&L, ElemType a[], int n);//用数组创建线性表
void InitList(SqList *&L);//初始化线性表InitList(L)
bool ListEmpty(SqList *L);//判定是否为空表ListEmpty(L)
void DispList(SqList *L);//输出线性表DispList(L)
#endif
//list.cpp函数体
//用数组创建线性表
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;
}
//初始化线性表InitList(L)
void InitList(SqList *&L) //引用型指针
{
L=(SqList *)malloc(sizeof(SqList));
//分配存放线性表的空间
L->length=0;
}
//判定是否为空表ListEmpty(L)
bool ListEmpty(SqList *L)
{
return(L->length==0);
}
//输出线性表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");
}
运行结果
知识点总结
运用上周程序的多文件,将调用函数存放在其他文件,通过头文件调用。
初始化线性表并赋值,判断线性表是否为空,输出线性表。