链表
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;
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步