单链表与单循环链表的C语言实现

news/2025/2/25 17:53:21/文章来源:https://www.cnblogs.com/GJ504b/p/18736920

单链表与单循环链表的C语言实现

目录
  • 单链表与单循环链表的C语言实现
    • 单链表的增删查改
    • 单循环链表的增删查改

单链表的增删查改

/*单链表*/#include<stdio.h>
#include<stdlib.h>typedef struct Node{int data;struct Node* next;
}Node;Node* initList(){Node* node = (Node*)malloc(sizeof(Node));node -> data = 0;node -> next = NULL;return node;
}void headInsert(Node* L, int data){Node* node = (Node*)malloc(sizeof(Node));node -> data = data;node -> next = L -> next;L -> next = node;L -> data ++;
}void tailInsert(Node* L,int data){Node* tail = L -> next;Node* node = (Node*)malloc(sizeof(Node));node -> data = data;node -> next = NULL;while(tail -> next){tail = tail -> next;}tail -> next = node;L -> data ++;
}void deleList(Node* L,int data){int flag = 0;Node* prevnode = L;Node* node = L -> next;while(node){if(node -> data == data){prevnode -> next = node -> next;free(node);flag = 1;printf("已经把%d从链表里删除了\n",data);L ->data --;
//			break;//!!!!!node = prevnode -> next;}else{prevnode = node;node = node -> next;}}if(!flag){printf("没有找到被删项\n");}
}void printList(Node* L){Node* node = L -> next;while(node){printf("%d\n",node -> data);node = node -> next;}printf("\n");
}void findList(Node* L, int data){Node* node = L -> next;while(node){if(node -> data == data){printf("已经在链表里找到了%d\n",data);break;}node = node -> next;}}void changeList(Node* L, int data, int newdata){Node* node = L -> next;while(node){if(node -> data == data){node -> data = newdata;printf("已经把链表里的%d更新为了%d\n",data,newdata);	}node = node -> next;}}int main(){Node* L = initList();headInsert(L, 1);headInsert(L, 10);headInsert(L, 100);tailInsert(L,2);tailInsert(L,20);tailInsert(L,200);printList(L);deleList(L,100);deleList(L,6);findList(L,20);changeList(L,2,8);printList(L);return 0;
}

alt text

单循环链表的增删查改

#include<stdio.h>
#include<stdlib.h>typedef struct Node{int data;struct Node* next;
}Node;Node* initList(){Node* node = (Node*)malloc(sizeof(Node));node -> data = 0;node -> next = node;return node;
}void headInsert(Node* L, int data){Node* node = (Node*)malloc(sizeof(Node));node -> data = data;node -> next = L -> next;L -> next = node;L -> data ++;
}void tailInsert(Node* L,int data){Node* tail = L -> next;Node* node = (Node*)malloc(sizeof(Node));node -> data = data;node -> next = L;while(tail -> next != L){tail = tail -> next;}tail -> next = node;L -> data ++;
}void deleList(Node* L,int data){int flag = 0;Node* prevnode = L;Node* node = L -> next;while(node != L){if(node -> data == data){prevnode -> next = node -> next;free(node);flag = 1;printf("已经把%d从链表里删除了\n",data);L ->data --;
//			break;//!!!!!node = prevnode -> next;}else{prevnode = node;node = node -> next;}}if(!flag){printf("没有找到被删项\n");}
}void printList(Node* L){Node* node = L -> next;while(node != L){printf("%d\n",node -> data);node = node -> next;}printf("\n");
}void findList(Node* L, int data){Node* node = L -> next;while(node != L){if(node -> data == data){printf("已经在链表里找到了%d\n",data);break;}node = node -> next;}}void changeList(Node* L, int data, int newdata){Node* node = L -> next;while(node != L){if(node -> data == data){node -> data = newdata;printf("已经把链表里的%d更新为了%d\n",data,newdata);	}node = node -> next;}}int main(){Node* L = initList();headInsert(L, 1);headInsert(L, 10);headInsert(L, 100);tailInsert(L,2);tailInsert(L,20);tailInsert(L,200);printList(L);deleList(L,100);deleList(L,6);findList(L,20);changeList(L,2,8);printList(L);return 0;
}

alt text

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/889670.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

可能是全球最快捷的修改hosts文件方式

使用快捷方式一键修改hosts文件。 下面请看VCR:其实关键的命令只有一条:powershell.exe -Command "Start-Process -FilePath notepad.exe -Verb RunAs -ArgumentList "$env:SystemRoot\system32\drivers\etc\hosts""它使用记事本以管理员权限打开位于 C:…

KUKA机器人KR70伺服电机力矩不足维修攻略

库卡机器人作为先进的工业自动化解决方案,广泛应用于各种生产线中。然而,当出现KUKA机械手伺服马达力矩不足干燥的问题时,可能会严重影响其工作效率和性能。 一、库卡机器人电机力矩不足故障的原因 1. 电机老化:随着使用时间的增加,电机内部的零部件可能会出现磨损,导致力…

S2-防护-战士Warrior-团体-大秘境-专精-天赋-配装-宏

S2毕业装--属性 急速>全能>爆击>精通 急速和全能越高越好。爆击和精通随缘。 --团本天赋(更新时间2月5日)--团本天赋代码 CkEAmidFBOBFf5oKuZ7r/WeW7YEDAAAAzMzYmZGMbzsMzMz2mZMMNzgZmBwyADbMzMwDMzDMMAAAAAAgZGAgltNADDsBLLGNmBwsFbYD --大秘天赋(更新时间2月5日)--大…

S2-武器-战士Warrior-团体-大秘境-专精-天赋-配装-宏

S2毕业装--属性 急速>爆击>精通>全能 急速和爆击越高越好。精通随缘。不要全能。 --团本/单体天赋(更新时间2月10日)--团本/单体天赋代码 CcEAmidFBOBFf5oKuZ7r/WeW7AAzYmZMzMzsZZZZmBAAAADmGmZYbGzAzYMzMYmhBGmhBAAAAAAAPwYWmZmBQgxy2ALgBMDTIDwG --大秘/AOE巨神兵天…

S2-织雾-武僧Monk-团体-大秘境-专精-天赋-配装-宏

S2毕业装--属性 急速>全能>爆击>精通 急速和全能越高越好。爆击随缘。不要精通。 --团本天赋(更新时间2月5日)--团本天赋代码 C4QAqCjoPBi1F5zHY9mx8hvRaCAAAAAAAAGzCzYYDzYmZZYDLzMb2mlllZmlFMamZGYGmZhBbzYGmtxMDWMBAAAAABYxyssMbzMTQAALA --大秘(鶴僧)天赋(更新时间…

全球最强即时推理AI大模型Claude 3.7发布!

0 前言 2025年2月25日,今天发布迄今为止最智能的模型——Claude 3.7 Sonnet,全球首个混合推理(Hybrid Reasoning)模型。提供:近乎实时回答 同时进行深入的、分步骤的推理 且这种思考过程可直观展示给用户 对API用户,还可精细控制模型的思考时长在编程和前端开发方面表现尤…

S2-邪恶-死亡骑士DK-团体-大秘境-专精-天赋-配装-宏

S2毕业装--属性 急速>精通>爆击>全能 急速和精通越高越好。爆击随缘。不要全能。 --团本/单体天赋(更新时间2月8日)--团本/单体天赋代码 CwPAAAAAAAAAAAAAAAAAAAAAAAAzMjZMGDzYmZmphZmZGzYAAAAAAAAAMzMzwYwMAgZzMMbzYmZmxMDwiZxwADMbM0YBAmBA --大秘/AOE天启骑士天赋(…

实现3D地图 并且显示地图动态跳动标识,鼠标滑过标识 显示此标识下的详细信息,红色为异常标识,悬浮框内显示查看详情信息

<template><div><divclass="container"style="height: 650px; width: 100%"ref="mapContainer"v-loading="loading"element-loading-background="rgba(0, 0, 0, 0.6)"element-loading-text="拼命加载中…

S2-痛苦-术士Warlock-团体-大秘境-专精-天赋-配装-宏

S2毕业装--属性 精通>急速>爆击>全能 精通和急速越高越好。爆击随缘。不要全能。 --团本/单体天赋(更新时间2月10日)--团本/单体天赋代码 CkQAAAAAAAAAAAAAAAAAAAAAAAmZmZmZEzmBmtZmZY2GAAAwMjZWmZM2MzMLMzMDAYmxyyADYAzwWghtZAAAAAAAAgZmZzA --大秘/AOE灵魂收割者天赋…

S2-防护-圣骑士Paladin-团体-大秘境-专精-天赋-配装-宏

S2毕业装--属性 精通26-28>急速>爆击>全能 精通保持在26-28之间。急速和爆击越高越好。不要全能。 --团本天赋(更新时间2月5日)--团本天赋代码 CIEA5ba6OK14IUITjS1kSUVJctMmZMzyMLjZmZmx2MmhhZYAAAGAAAAAAASmZWMMDGzMzWAAGAgZw2AAAgAMzsst02MjFzAAMzYGGD --大秘天赋(…

S2-元素-萨满Shaman-团体-大秘境-专精-天赋-配装-宏

S2毕业装--属性 精通>急速>爆击>全能 精通和急速越高越好。爆击随缘。不要全能。 --团本/单体天赋(更新时间2月10日)--团本/单体天赋代码 CYQAYp+JUk5Lea12OyacsLNThAAAAAAMbzyyMjZGzysMGMYmBAAAAAWMzGMgJY2YCZWAAz20MgtFzMTDzMzYYZmZGMLDWGzMzMDzsxA -大秘/AOE天赋(更…

echarts: legend自定义icon

1.引入图片 import iconUrl from ../assets/gas_station.png;2.在legend里面定义icon legend: {data: [审批完成, 待审批, 驳回],icon: (image:// + iconUrl + ),itemWidth: 20,itemHeight: 20},