编写线性表定义及基本操作函数
例如:建立具有5个元素的顺序表。
L=(a,b,c,d,f)
并完成如下操作:
(1)输出线性表
(2)求线性表L的长度
(3)获取第3个元素的值
(4)获取元素 a 在线性表中的位置
(5)在第4个元素前,插入元素g
(6)删除第5个元素的值
#include <malloc.h>
#include <stdio.h>
#define MaxSize 50
using namespace std;
typedef char ElemType;
定义类型
typedef struct
{
ElemType data[MaxSize];
int length;
}SqList;
线性表的创建
void CreateList(SqList *&L, ElemType a[], int n)//a中n个元素建立顺序表
{
int i = 0, k = 0;//k表示L中的元素个数,初始值为0
L = (SqList *)malloc(sizeof(SqList));//分配存放线性表的空间
while (i < n)//i扫描数组a的元素
{
L->data[k] = a[i];
k++; i++;
}
L->length = k;//设置L的长度k
}
初始化线性表
void InitList(SqList *&L)
{
L = (SqList *)malloc(sizeof(SqList));//分配存放线性表的空间
L-&g