提示:本文代码主要是根据 数据结构教程5-李春葆改写的
前言
书中:2.2线性表的顺序结构存储结构有线性表的c语言代码,我这里是用的C++。
本文代码已经把基本操作的细节都写好了,根据自己实验的要求再进行进一步的修改,与书中代码不同的是,书中函数只有算法而无提示,本文加的有提示。
一、实验目的
功能:建立顺序表,初始化线性表,销毁线性表,判断线性表是否为空,求线性表的长度,输出线性表,按元素查找,插入数据元素,删除数据元素。
二、实验总代码
代码如下:
#include<iostream>
using namespace std;
#define MaxSize 1024
typedef int ElemType;
//声明线性表
typedef struct
{
ElemType data[MaxSize];
int length;
}Sqlist;
//建立顺序表
void CreateList(Sqlist *L)
{
int n = 0, k = 0;
cout << "请输入数据的个数\n";
cin >> k;
for (int i =0; i < k; i++)
{
printf("list[%d]=", i);
cin >> n;
L->data[i] = n;
}
L->length = k;
printf("\n");
}
//输出线性表
void Displist(Sqlist* L)
{
int i = 0;
for (; i < L->length; i++)
{
printf("data[%d]=", i);
printf("%d\n", L->data[i]);
}
printf("\n");
}
//初始化线性表
void Initlist(Sqlist* L) //这个功能可以直接在main函数实现,不与要用函数来写
{
L = (Sqlist*)malloc(sizeof(Sqlist)); //分配存放线性表的空间
L->length = 0;
}
//销毁线性表
void Destroylist(Sqlist* L)
{
free(L); //释放线性表
}
//判断线性表是否为空表
bool Listempty(Sqlist* L)
{
if (L->length