C++中的链表

以下为本人在大一时阅读《C++ Primer Plus》中关于链表的章节所做的笔记
 

链表

链表内元素结构:

struct node
{ int data ;   node * next ; } ; 

链表的起始元素:

node * head ;

链表的创建函数:

node * CreateList()
{   node * s, * p ;  
    s = new node ;
    cin >> s->data ;
    head = NULL ;
    while ( s->data != 0 )//当输入0的时候结束创建过程
    {   if ( head == NULL )   head = s ;
         else  p->next = s ;
         p = s ;
         s = new node ;
         cin >> s->data ;
     }
     p -> next = NULL ;
     delete  s ;
     return ( head ) ;
}

链表的插入元素:

1.在开头插入元素:

s -> next = head ;
head  = s ;

2.在指针p后面插入一个元素:

s -> next = p -> next ;
p -> next  = s ;

3.在指针p前面插入一个元素:

方式一:找到指向p的指针q,然后在q后插入元素

方式二:在p后插入元素,然后交换p和新插入的元素

t = p -> data ;
p -> data  = s-> data;
s-> data = t ;

删除链表的第一个元素:

p = head ;
head  = head->next ;
delete p ;

删除链表中的元素p:

先找到指向p的指针

q->next  = p->next ;
delete p ;
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值