社区
C++ 语言
帖子详情
设计一个算法,删除顺序链表中值为X的所有结点
guopai123
2011-12-27 08:08:26
设计一个算法,删除顺序链表中值为X的所有结点
...全文
2539
5
打赏
收藏
设计一个算法,删除顺序链表中值为X的所有结点
设计一个算法,删除顺序链表中值为X的所有结点
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fyk810888
2011-12-27
打赏
举报
回复
楼上的正解
金元520
2011-12-27
打赏
举报
回复
1
p=head;
while(x==head->data)
{
head=head->next;
free(p); // delete p;
p=head;
}
node *q=NULL;
if(p)q=p->next;
while(q)
{
if(x==q->data)
{
p->next=p->next->next;
free(q); // delete q;
}
else
p=p->next;
q=p->next;
}
未调试 不知道对不对
金元520
2011-12-27
打赏
举报
回复
p=head;
while(x==head->data)
{
head=head->next;
free(p); // delete p;
p=head;
}
node *q=NULL;
if(p)q=p->next;
while(q)
{
if(x==q->data)
{
p->next=p->next->next;
free(q); // delete q;
}
else
p=p->next;
q=p->next;
}
没高度 不知道对不对
阿尔博特
2011-12-27
打赏
举报
回复
先遍历找到值为x的结点,找不到就返回false,找到就用两个指针把他删了,p指向值为x的结点,q指向该结点的前一结点,然后用q->next = p->next;delete p;
阿尔博特
2011-12-27
打赏
举报
回复
先遍历找到值为x的结点,找不到就返回false,找到就用两个指针把他删了,p指向值为x的结点,q指向该结点的前一结点,然后用q->next = p->next;delete p;
对给定的
链表
L ,
设计
一个
算法
,
删除
L
中值
为 x 的
结点
的直接前驱
结点
。
删除
结点
.cpp
对给定的
链表
L ,
设计
一个
算法
,
删除
L
中值
为 x 的
结点
的直接前驱
结点
。 1 由键盘输入值,换行表示输入结束,根据输入建立单
链表
。 2 输入
链表
中的
一个
元素值,从
链表
中
删除
这个元素的前驱
结点
。 3 对
删除
元素后的
链表
元素在屏幕上显示。
1_
链表
_
对给定的单
链表
L ,
设计
一个
算法
,
删除
L
中值
为 x 的
结点
的直接前驱
结点
。
带头
结点
的单循环
链表
,
删除
所有值大于min,小于max的
结点
的
算法
一个
带头
结点
的单循环
链表
,
结点
类型为(data.next),以haed为头指针,每个
结点
的data域存放的是
一个
整数,试构造
一个
删除
所有值大于min,小于max的
结点
的
算法
数据结构作业.docx
数据结构作业全文共2页,当前为第1页。数据结构作业全文共2页,当前为第1页。第二章 线性表 数据结构作业全文共2页,当前为第1页。 数据结构作业全文共2页,当前为第1页。 六
算法
设计
题 写
一个
对单循环
链表
进行遍历(打印每个
结点
的值)的
算法
,已知
链表
中任意
结点
的地址为P。 .解: void Show(ListNode *P) { ListNode *t=P; do { printf ("%c",t->data); t=t->rear; } while (t!=P); } (2) 对给定的带头
结点
的单
链表
L,编写
一个
删除
L
中值
为x的
结点
的直接前趋
结点
的
算法
。 .解: void delete(ListNode *L) { ListNode *p=L,*q; if (L->next->data==X) { printf ("值为x的
结点
是第
一个
结点
,没有直接前趋
结点
可以
删除
"); return; } for (;p->next->data!=X; q=p; p=p->next); //
删除
指针p所指向的
结点
q->next=p->next; delete p; } 3. 对给定的带头
结点
的
数据结构课程
设计
单
链表
操作
问题描述: 针对带头
结点
的单循环
链表
,编写实现以下操作的
算法
函数。 实现要求: ⑴ 单
链表
建立函数create:先输入数据到一维数组A[M]中,然后根据一维数组A[M]建立
一个
单循环
链表
,使
链表
中个元素的次序与A[M]中各元素的次序相同,要求该函数的时间复杂度为O(m); ⑵ 定位查找函数Locate:在所建立的单循环
链表
中查找并返回值为key的第1个元素的
结点
指针;若找不到,则返回NULL; ⑶ 求出该
链表
中值
最大和次大的元素值,要求该
算法
的时间复杂度为O(m),最大和次大的元素值通过指针变量带回,函数不需要返回值; ⑷ 将
链表
中所有值比key(值key通过形参传入)小的
结点
作为值为key的
结点
前驱,所有值比key大的
结点
作为值为key的
结点
后继,并尽量保持原有
结点
之间的
顺序
,要求该
算法
的时间复杂度为O(m); ⑸
设计
一个
菜单,具有上述处理要求和退出系统功能。
C++ 语言
64,647
社区成员
250,476
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章