移动链表最大元素
发布日期:2022-02-27 02:37:59 浏览次数:49 分类:技术文章

本文共 966 字,大约阅读时间需要 3 分钟。

给定一个链表,将链表中最大的元素移动到链表的最前端。

#include
#include
typedef struct Node {
int data; struct Node* link;}*linkedList;linkedList moveNode(linkedList head){
linkedList pre = NULL, maxNode = head->link, p = head; while(p->link) {
if(p->link->data > maxNode->data) {
maxNode = p->link; pre = p; } p = p->link; } pre->link = maxNode->link; maxNode->link = head->link; head->link = maxNode; return head;}int main(){
// input: 0 1 2 3 4 5 6 7 8 9 linkedList head = (linkedList)malloc(sizeof(struct Node)), l = head; for(int i=0; i<10; i++) {
linkedList t = (linkedList)malloc(sizeof(struct Node)); scanf("%d", &t->data); t->link = NULL; l->link = t; l = l->link; } head = moveNode(head); // output: 9 0 1 2 3 4 5 6 7 8 linkedList a = head->link; while(a){
printf("%d ", a->data); a = a->link; }}

转载地址:https://blog.csdn.net/weixin_43399464/article/details/120495059 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:机器学习 话题模型
下一篇:打印叶节点到根的路径

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年03月28日 00时08分35秒