当前位置: 首页 > news >正文

北京市建设委员联合会网站宁波谷歌优化

北京市建设委员联合会网站,宁波谷歌优化,山东省济宁市最新消息,跨境电商 网站开发循环链表的介绍及创建(C语言代码实现) 点击打开在线编译器,边学边练 循环链表概念 对于单链表以及双向链表,其就像一个小巷,无论怎么样最终都能从一端走到另一端,然而循环链表则像一个有传送门的小巷&…

循环链表的介绍及创建(C语言代码实现)
点击打开在线编译器,边学边练

  1. 循环链表概念
    对于单链表以及双向链表,其就像一个小巷,无论怎么样最终都能从一端走到另一端,然而循环链表则像一个有传送门的小巷,因为循环链表当你以为你走到结尾的时候,其实你又回到了开头。

循环链表和非循环链表其实创建的过程以及思路几乎完全一样,唯一不同的是,非循环链表的尾结点指向空(NULL),而循环链表的尾指针指向的是链表的开头。通过将单链表的尾结点指向头结点的链表称之为循环单链表(Circular linkedlist)

如图,为一个完整的循环单链表
在这里插入图片描述

循环链表

  1. 循环链表结点设计(以单循环链表为例)
    对于循环单链表的结点,可以完全参照于单链表的结点设计,如图:
    在这里插入图片描述

单向循环链表结点

data表示数据,其可以是简单的类型(如int,double等等),也可以是复杂的结构体(struct类型)

next表示指针,它永远指向自身的下一个结点,对于只有一个结点的存在,这个next指针则永远指向自身,对于一个链表的尾部结点,next永远指向开头。

其代码可以表示为:

typedef struct list{int data;struct list *next;
}list;
//data为存储的数据,next指针为指向下一个结点
  1. 循环单链表初始化
    如同单链表的创建,我们需要先创建一个头结点并且给其开辟内存空间,但与单链表不同的是,我们需要在开辟内存空间成功之后将头结点的next指向head自身,我们可以创建一个init函数来完成这件事情,为了以后的重复创建和插入,我们可以考虑在init重创建的结点next指向空,而在主函数调用创建之后手动讲head头结点的next指针指向自身。

这样的操作方式可以方便过后的创建单链表,直接利用多次调用的插入函数即可完成整体创建。

其代码可以表示为:

//初始结点
list *initlist(){list *head=(list*)malloc(sizeof(list));if(head==NULL){printf("创建失败,退出程序");exit(0);}else{head->next=NULL;return head;}
}

在主函数重调用可以是这样

在主函数重调用可以是这样//初始化头结点//list *head=initlist();head->next=head;
  1. 循环链表的创建操作
    如图所示:
    在这里插入图片描述

循环链表的创建

我们可以通过逐步的插入操作,创建一个新的节点,将原有链表尾结点的next指针修改指向到新的结点,新的结点的next指针再重新指向头部结点,然后逐步进行这样的插入操作,最终完成整个单项循环链表的创建。

其代码可以表示为:

//创建——插入数据
int insert_list(list *head){int data;   //插入的数据类型printf("请输入要插入的元素:");scanf("%d",&data);list *node=initlist();node->data=data;//初始化一个新的结点,准备进行链接if(head!=NULL){list *p=head;//找到最后一个数据while(p->next!=head){p=p->next;}p->next=node;node->next=head;return 1;}else{printf("头结点已无元素\n");return 0;}
}
http://www.hkea.cn/news/714178/

相关文章:

  • html论坛模板东营seo整站优化
  • 天津网站建设582345网址导航桌面版
  • 东莞纸箱厂东莞网站建设经典模板网站建设
  • 贺州同城购物网站建设中国网站排名100
  • 黄骅港旅游景点爱站网seo工具包
  • 网站 图文混编提高网站搜索排名
  • 北京怀柔网站制作教育机构
  • 网站建设费 大创友链交换平台
  • o2o商城网站系统开发微信群拉人的营销方法
  • 帝国cms做淘宝客网站网页设计用什么软件
  • 营销型网站建设的优缺点视频优化软件
  • 珠海响应式网站建设推广公司网络营销发展方案策划书
  • 中国人自己的空间站每日英语新闻
  • 教师可以做网站吗seo常用工具包括
  • 武山建设局网站什么是seo
  • 做文案需要用到的网站全网模板建站系统
  • 苏州乡村旅游网站建设策划书网站建设百度推广
  • 12380网站建设情况总结百度浏览器入口
  • 直播网站开发要多久排行榜前十名
  • 网站备案完才能建站吗企业建站公司
  • 网站开发外包合同西安网站优化公司
  • 2022网页设计尺寸规范和要求怎么做seo关键词优化
  • 北京大学两学一做网站十大收益最好的自媒体平台
  • 网站开发服务费企业网站建设的一般要素
  • 台州企业网站制作公司郴州网站推广
  • 如何做移动端网站邮件营销
  • 网站制作佛山crm管理系统
  • 网站综合营销方案设计网页设计教程
  • 东莞做网站制作宁波技术好的企业网站制作
  • 广州做网站公司哪家好如何注册一个网站