顺序表的基本运算
本项目由三个文件组成,完成了用数组创建线性表,输出线性表,判定是否为空表德尔功能,线性表初学有些困难,但却是数据结构中很重要的一部分知识点,希望我们在多加练习的基础上,熟练掌握线性表的应用
/*
Copyright (c) 2015, 烟台大学计算机与控制工程学院
All rights reserved.
文件名称:project:xianxingbiao youwenjian.h main.cpp hanshu.cpp
writer:徐吉平
完成日期:2015年9月14日
版本号:Code::Block 12.11
问题描述:目的是要测试“建立线性表”的算法CreateList,为查看建表的结果,
需要实现“输出线性表”的算法DispList。要判断表是否为空
输入描述:无
程序输出:正确输出线性表
*/
youwenjian.h
#ifndef YOUWENJIAN_H_INCLUDED
#define YOUWENJIAN_H_INCLUDED
#include <stdio.h>
#include <malloc.h>
#define MaxSize 50
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)
#endif // YOUWENJIAN_H_INCLUDED
main.cpp
#include "youwenjian.h"
int main()
{
SqList *sq;
ElemType x[6]={5,8,7,2,4,9};
CreateList(sq, x, 6);
DispList(sq);
ListEmpty(sq);
return 0;
}
hanshu.cpp
#include "youwenjian.h"
//下面实现要测试的各个自定义函数
//用数组创建线性表
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);
}