链表

1已知head是非空单链表的头指针,p结点既不是头结点,也不是尾结点,q是尾结点的前驱结点。

且所有结点都已具有如下形式的结构定义:

struct node

    int data;

    struct node *next;

}*p,*q;

则删除链表的尾结点可用以下语句:

while(p->next->next != NULL)

{  

      p = p->next;

}

free(p->next);

p->next = NULL;

2若已建立下面的链表结构,指针p、q分别指向图中所示结点,则下面两种方式可将q所指的结点插入到链表末尾

 

1)

p = (*p).next; 

(*q).next = (*p).next; 

(*p).next = q; 

2)

q->next = NULL; 

p = p->next; 

p->next = q; 

转载于:https://www.cnblogs.com/520xiuge/p/5152444.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值