定义:
线性表(linear_list)是最常用且简单的一种数据结构。简言之,一个线性表是n个数据元素的有限序列。
如数据元素为英文字母:(A,B,C,...Z)
如数据元素为整数:(6,7,28,50,92,188)
一个数据元素可以由若干个数据项(item)组成。在这种情况下,常把数据元素称为记录(record),含有大量记录的线性表又称文件(file).
★线性表中元素的个数n(n>=0)定义为线性表的长度,n=0时称为空表。(严蔚敏)
操作:
创建 ,销毁,非空 ,置空,表长,取值,增加,删除,遍历,排序,合并
顺序存储:传送门
链式存储:单向链式:传送门
循环链表:特点是表中最后一个节点的指针域指向头结点。
双向链表:链式存储结构的结点中有两个指针域,其一指直接后继,另一个指向直接前驱
★典型用例:一元多项式的表示和相加。
Pn(x) = p0 + p1x +p2x2+...+ pnxn
可以用一个线性表来存储x的指数从0-n前的系数p0,p1.。。pn
typedef struct{
float coef ;//系数
int expn; //指数
}term,ElemTypel
两个一元多项式PA,PB
①如果PA指数小于PB指数,那么PA前进一个
②如果PA指数大于PB指数,那么PB前进一个
③如果PA指数等于PB指数,那么两个系数相加