数据结构与算法北京大学第2章线性表.ppt

单链表的插入 20 23 12 15 head tail 在23 和12 之间插入 10 20 23 12 15 head tail 10 创建新结点 新结点指向右边的结点 左边结点指向新结点 单链表插入算法 // 插入数据内容为value的新结点作为第i个结点 template class T // 线性表的元素类型为T bool lnkListT :: insert(const int i, const T value) { LinkT *p, *q; if ((p = setPos(i -1)) == NULL) { // p 是第i个结点的前驱 cout 非法插入点endl; return false; } q = new LinkT(value, p-next); p-next = q; if (p == tail) // 插入点在链尾,插入结点成为新的链尾 tail = q; return true; } 单链表的删除 从链表中删除结点x 用p指向元素x的结点的前驱结点 删除元素为x的结点 用p指向元素x的结点的前驱结点 p=head; while (p-next!=NULL p- next -info!=x) p=p- next; 用p指向元素x的结点, 可以吗?

文档评论(0)

1亿VIP精品文档

相关文档