线性表是最简单最常用的数据结构。
线性表是由n(n≥0)个数据元素a1,a2,....,an组成的有限序列。其中,数据元素的个数n定义为表的长度。当n=0时称为空表,常常把非空的线性表(n>0)记作:(a1,a2,...,an)。从线性表的定义中可以看出它的逻辑特征是:对非空的线性表,有且仅有一个开始结点a1,它没有直接前趋,而仅有一个直接后继a2,有且仅有一个终端结点an,它没有直接后继,而仅有一个直接前趋an-1,其余的内部结点都有且仅有一个直接前趋和一个直接后继。
常见的线性表基本运算有以下几种:
1.置空表SetNull(L),运算结果是将线性表L置成空表。
2.求长度Lenght(L),结果是线性表L的长度。
3.取结点Get(L,i),结果是表L中的第i个结点。
4.定位Loacte(L,x),当线性表中存在一个值为x的结点时,结果是该结点的位置;若表L中存在多个值为x的结点,则是首次找到的结点位置。当表L中不存在值为x的结点时,将给出一个特殊值表示值为x的结点不存在。
5.插入Insert(L,x,i),在线性表L的第i个位置插入一个值为x的新结点。
6.删除Delete(L,i),删除线性表L的第i个结点。
下面给出C语言实现的线性表的代码:
#include <stdio.h>
typedef int datatype;
#define maxsize 1024
typedef struct sequenlis