第2章队列讲义.ppt

2.单链表操作的实现 Status GetElem_L(LinkList L, int pos, ElemType e) { // L为带头结点的单链表的头指针。当线性表中存在第pos个元//素存在时,则将第pos个数据元素的值赋给e并返回OK,否则返//回ERROR p = L-next;j = 1;// 初始化,p指向第一个结点,j为计数器 while (p jpos) { // 顺指针向后查找,直到p指向第pos个元素或p为空 p = p-next; ++j; } if ( !p || jpos ) return ERROR; // 第pos个元素不存在 e = p-data; // 取第pos个元素 return OK; } // GetElem_L 算法的时间复杂度为:O(ListLength(L)) Status ListInsert_L(LinkList L, int pos, ElemType e) { // 在带头结点的单链表L中第pos个数据元素之前插入数据元素e p = L; j = 0; while (p j pos-1) { p = p-next; ++j; } // 寻找第pos-1个结点 if (!p || j pos-1) return ERROR; // pos小于1或者大于表长 s = (LinkList) malloc (

文档评论(0)

1亿VIP精品文档

相关文档