②删除 Status ListDelete_L(LinkListL int i ElemType &e){ //删除以L为头指针(带头结点)的单链表中第i个结点 p=L; j=; while(p>next&&j<i) {p=p>next; ++j;} //寻找第i个结点并令p指向其前趋 if(!(p>next)||j>i) return ERROR;//删除位置不合理 q=p>next; p>next=q>next;//删除并释放结点 e=q>data; free(q); return OK; }//ListDelete_L //静态单链表存储结构 结构定义: #define MAXSIZE Typedef struct{ ElemType data; Int cut; }componentSLinkList[MAXSIZE]; 基本操作 Int LocateElem_SL(SLinkList S ElemType e){ //返回第一个与e相等的元素位置 i=S[]cur; while(i&&S[i]data!=e) i=S[i]cur; return I; }//LocateElem_SL //循环链表 与单链表的区别最后结点的指针与指向头结点所以循环的结束条件是p或p>next是否为空 //双向链表储 结构定义: typedef struct DuLNode{ ElemType data;//数据域 struct DuLNode *prior;//前驱指针 struct DuLNode *next;//后继指针 }DuLNode*DuLinklist; (三)线性表的应用集合求并 一元多项式求和 返回《数据结构》考研复习精编 [] [] [] [] [] |