导航:首页 > 源码编译 > 在单链表中删除值相同的多余结点的算法

在单链表中删除值相同的多余结点的算法

发布时间:2025-03-08 10:32:26

‘壹’ 高分求一个删除单链表中值为x的所有元素的函数

NODE *newlist(NODE *L,int x)
{
NODE * t ;//声明一个代替根节点L的节点
if(L.value == x){//根节点的值为x
t = L->next; //将T指向L的下一个节点
delete L; //删除L节点
return newlist(t,x);//递归处理首节点值为x的情况
}
t = L; //将t指向根节点
while(t->next != null){ //节点的下一个节点不为空
if(t->next.value == x){ //满足条件
t->next = t->next->next; //删除满足条件的节点
}
}
return t;
}

我是这么理解的
先判断首节点的值
若首节点满足则将首节点的下一节点保存下来
遍历下一节点
若不满足则对下一节点进行判断
遍历玩整个链表即可
应该是比较简单的啊
思路很清晰的啊
【呵呵
见笑了
刚写的
没在VS里运行呢
是忘了加t=t->next了

我是搞java
想翻翻c++
见笑了
呵呵

我看了下二楼的
貌似可以】

‘贰’ 7.试设计实现删除单链表中值相同的多余结点的算法

.....做题啊
解:该例可以这样考虑,先取开始结点的值,将它与其后的所有结点值一一比较,发现相同的就删除掉,然后再取第二结点的值,重复上述过程直到最后一个结点。
设单链表(其类型为LinkList)的头指针head指向头结点,则可按下列步骤执行:
首先,用一个指针p指向单链表中第一个表结点,然后用另一个指针q查找链表中其余结点元素,由于是单链表,故结束条件为p= =NULL,同时让指针s指向q所指结点的前趋结点,当查找到结点具有q->data= =p->data时删除q所指的结点,然后再修改q,直到q为空;然后使p指针后移(即p=p->next),重复进行,直到p为空时为止。算法描述如下:
del(LinkList *head)
{ //删除单链表中值相同的多余结点
LinkList *p, *s, *q;
p=head->next;
while(p!=NULL && p->next!=NULL)
{ s=p; //s指向要删除结点的前趋
q=p->next;
while (q!=NULL)
{ if (q->data= =p->data)} //查找值相同的结点并删除
{ s->next=q->next;
free(q);
q=s->next;
}
else
{ s=q;
q=q->next;
}
}
p=p->next;
}
}

‘叁’ 求设计一个算法

因为我是学计算机软件专业的。故我可以很负责任的告诉你:你的这个要求是没有人能够满足的。理由如下:
(1)、首先链表在计算机软件专业的《数据结构》课程中,应该算是最、最复杂的一种数据结构了,它比对数组、堆栈、队列等的操作要来得复杂得多。原因就是在涉及到对各种链表(单链表、双链表等)的编程中,都必须要定义一个(或者多个)指针变量,用来表示单链表(或者是双链表)。而指针又是 C 语言中功能最为强大、但是同时也是概念最难于理解、而且对于 C 语言中的指针部分的代码又是最难于调试的;
(2)、除了上述的(1)之外,你的要求中又涉及到了《数据结构》课程中的排序算法、以及对链表的各种操作(首先要查找到所需要删除的节点、然后再从单链表中进行删除。而且了,删除了节点之后,对原来的单链表还需要重新进行排序)
(3)、编写、并且调试通过一个 C 语言源代码并非一件易事,编写任何一个程序,都必须要在一个集成的编程调试环境中,通过对各个变量设置断点、对整个程序进行单步跟踪,才能够最终调试通过该程序。
故你的要求是不可能通过别人的编程来实现的,而必须依靠自己的艰苦努力去调试通过程序。
以上就是我多年编程的亲身体会。

阅读全文

与在单链表中删除值相同的多余结点的算法相关的资料

热点内容
贵州云服务器属于哪个上市公司 浏览:58
编程联动教程 浏览:480
小天才app怎么升级v242 浏览:544
简单手工解压玩具制作大全 浏览:928
免费编程电子书 浏览:869
想玩游戏什么app最合适 浏览:560
安卓手机如何用airportspro 浏览:449
怎么清理idea编译缓存 浏览:951
镜头app怎么推广 浏览:437
什么app随便看电视剧 浏览:307
2021程序员薪酬 浏览:708
糖豆广场怎么下载app 浏览:213
qtvs2019选哪个编译器 浏览:124
压缩空气管能焊吗 浏览:284
linux中yum命令 浏览:397
在职算法工程师 浏览:706
电码加密函数方法有几种 浏览:803
后缀是pdf 浏览:720
pr导出压缩 浏览:33
命令语气 浏览:245