C语言数据结构之循环链表的简单实例
发布时间 - 2026-01-11 02:03:56 点击率:次C语言数据结构之循环链表的简单实例

实例代码:
# include <stdio.h>
# include <stdlib.h>
typedef struct node //定义链表中结点的结构
{
int code;
struct node *next;
}NODE,*LinkList;
/*错误信息输出函数*/
void Error(char *message)
{
fprintf(stderr,"Error:%s/n",message);
exit(1);
}
//创建循环链表
LinkList createList(int n)
{
LinkList head; //头结点
LinkList p; //当前创建的节点
LinkList tail; //尾节点
int i;
head=(NODE *)malloc(sizeof(NODE));//创建循环链表的头节点
if(!head)
{
Error("memory allocation error!/n");
}
head->code=1;
head->next=head;
tail=head;
for(i=2;i<n;i++)
{
//创建循环链表的节点
p=(NODE *)malloc(sizeof(NODE));
tail->next=p;
p->code=i;
p->next=head;
tail=p;
}
return head;
}
第二种方法:
//创建循环链表方法2(软件设计师教程书上的方法)
LinkList createList2(int n)
{
LinkList head,p;
int i;
head=(NODE *)malloc(sizeof(NODE));
if(!head)
{
printf("memory allocation error/n");
exit(1);
}
head->code=1;
head->next=head;
for(i=n;i>1;--i)
{
p=(NODE *)malloc(sizeof(NODE));
if(!p)
{
printf("memory allocation error!/n");
exit(1);
}
p->code=i;
p->next=head->next;
head->next=p;
}
return head;
}
void output(LinkList head)
{
LinkList p;
p=head;
do
{
printf("%4d",p->code);
p=p->next;
}
while(p!=head);
printf("/n");
}
void main(void)
{
LinkList head;
int n;
printf("input a number:");
scanf("%d",&n);
head=createList(n);
output(head);
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# C语言数据结构之循环链表
# 循环链表
# C
# 实现循环链表的方法
# C语言实现循环链表
# C语言基于循环链表解决约瑟夫环问题的方法示例
# C语言数据结构之判断循环链表空与满
# C语言数据结构之双向循环链表的实例
# C语言中双向链表和双向循环链表详解
# C语言单循环链表的表示与实现实例详解
# C语言实现带头双向循环链表的接口
# 链表
# 数据结构
# 希望能
# 种方法
# 谢谢大家
# 错误信息
# 书上
# stdlib
# node
# struct
# typedef
# LinkList
# void
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在阿里云高效完成企业建站全流程?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
JavaScript如何实现继承_有哪些常用方法
谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程
网站制作报价单模板图片,小松挖机官方网站报价?
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
制作公司内部网站有哪些,内网如何建网站?
Laravel的.env文件有什么用_Laravel环境变量配置与管理详解
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
如何构建满足综合性能需求的优质建站方案?
详解jQuery停止动画——stop()方法的使用
百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
如何快速登录WAP自助建站平台?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】
怎么用AI帮你设计一套个性化的手机App图标?
详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)
如何实现建站之星域名转发设置?
Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理
如何快速搭建高效WAP手机网站吸引移动用户?
如何确保西部建站助手FTP传输的安全性?
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
如何做网站制作流程,*游戏网站怎么搭建?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
利用JavaScript实现拖拽改变元素大小
,交易猫的商品怎么发布到网站上去?
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
Laravel怎么实现模型属性的自动加密
如何在云服务器上快速搭建个人网站?
猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
如何正确选择百度移动适配建站域名?
个人网站制作流程图片大全,个人网站如何注销?
Python文件流缓冲机制_IO性能解析【教程】
Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用
Laravel如何使用Livewire构建动态组件?(入门代码)
Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】
1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤
Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验
如何批量查询域名的建站时间记录?
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道

