class list{/链表类定义(嵌套方式) private class ListNode i ∥套链表结点类 public C int data Listnode *link Listnode*frst,* current;∥表头指针 public C° ∥链表操作
class List { //链表类定义(嵌套方式) private: class ListNode { //嵌套链表结点类 public: int data; ListNode *link; }; ListNode *first, *current; //表头指针 public: //链表操作……… };
链表类和链表结点类定义(继承方式) class listnode{∥链表结点类 protected: int data: Listnode link class List: public class ListNode i ∥/链表类,继承链表结点类的数据和操作 privates ListNode*frst,* current;∥表头指针
链表类和链表结点类定义(继承方式) class ListNode { //链表结点类 protected: int data; ListNode * link; }; class List : public class ListNode { //链表类, 继承链表结点类的数据和操作 private: ListNode *first, *current; //表头指针 };
单链表中的插入与删除 插入 ◆第一种情况:在第一个结点前插入 newnode->link= first i first= newnode; newnode newnode first first→ 十+ (插入前) (插入后)
单链表中的插入与删除 ◼ 插入 ◆ 第一种情况:在第一个结点前插入 newnode->link = first ; first = newnode; (插入前) (插入后) first newnode newnode first
第二种情况:在链表中间插入 newnode->link= current->link; current->link= newnode newnode-L newnode curren current (插入前) (插入后)
(插入前) (插入后) ◆ 第二种情况:在链表中间插入 newnode->link = current->link; current->link = newnode; newnode current newnode current
。第三种情况:在链表末尾插入 newnode->link= current->link. current->link= newnode newnode→ newnode-入 current current (插入前) (插入后)
◆ 第三种情况:在链表末尾插入 newnode->link = current->link; current->link = newnode; (插入前) (插入后) newnode newnode current current