c语言单链表怎么循环链表,链表之循环单链表(用C语言描述)
上回说到建立链表的三种形式,分别是头插法,尾插法,和尾插法MAX??
??下面讲一下循环单链表??
循环单链表,字面意思,就是单链表循环了起来,尾节点在输入结束后不会指向NULL,而是指向了头节点head
酱紫,链表就循环了起来
下面是代码实现
#include
#include
typedef char datatype;
typedef struct node
{
datatype data;
struct node *next;
int length;
}linkList;
linkList *CREAT(linkList *L)
{
L->length = 0;
linkList *head,*r,*s;
head = (linkList *)malloc(sizeof(linkList));
r = head;
char ch;
ch = getchar();
while(ch!=‘$‘)
{
s = (linkList *)malloc(sizeof(linkList));
L->length++;
s->data = ch;
r->next = s;
r = s;
s->next = head;
// char a = getchar();
// 如果使用上面这一句,在输入data的时候可以在两个字符间输入空格
ch = getchar();
};
return r;
}
void PUT(linkList *L,linkList *r)
{
int i = 0;
linkList *pt;
pt = r;
pt = pt->next->next;
while(ilength)
//如果你想测试一下自己写的代码会不会循环起来,可以给length+2以上,看看会不会输出
//因为在CREAT()的时候,我是用的是尾插法MAX??,就是在整个链表的前面加上一个空的节点,所以输出不会显示这个节点的内容
{
printf("%c ",pt->data);
pt = pt->next;
i++;
};
printf("\n");
}
int main(void)
{
linkList L;
PUT(&L,CREAT(&L));
return 0;
}
//这个代码的算法实现都是比较简单易懂的,如果不是很清楚链表是怎样构建的话,可以康一康我的上一篇blog
//希望能对初学数据结构的同学们有一点帮助
原文:https://www.cnblogs.com/farytormenta/p/11601054.html
c语言单链表怎么循环链表,链表之循环单链表(用C语言描述)相关推荐
- [C语言实现]带你手撕带头循环双链表
目录 什么是双链表? 带头结点的优势: 双链表的实现: 什么是循环双链表? 众所周知,顺序表的插入和删除有时候需要大量移动数据,并且每次开辟空间都可能会浪费大量内存和CPU资源,于是我们有了链表,我们 ...
- 循环链表详解(循环单链表/循环双链表)
目录 一.循环单链表 二.循环双链表 一.循环单链表 循环单链表的表尾结点的next指针总是指向头结点. 所以在初始化循环单链表的时候,需要记得将头结点的next指针指向头结点自己: 判断循环单链表 ...
- java循环单链表比较相等_java的循环单链表
packageclink;//循环单链表 public classTestClink {public static voidmain(String[] args) {//TODO Auto-gener ...
- 数据结构之线性表----一文看懂顺序表、单链表、双链表、循环链表
线性表是数据结构中比较基础的内容,不过也是入门的所需要客服的第一个难关.因为从这里开始,就需要我们动手编程,这就对很多同学的动手能力提出了挑战.不过这些都是我们需要克服的阵痛,学习新的知识总是痛苦 ...
- 线性表的链式存储结构及代码实现(单链表,双链表,循环链表)
在上一篇博文中介绍了线性表的顺序存储方式,它最大的缺点就是在插入和删除操作时会移动大量的元素,这显然会耗费很多时间.后来人们便想到了用链式存储方式来解决上面这一问题.链式存储线性表时,不需要使用地 ...
- 循环链表(循环单链表和双链表)
循环链表 前言 一.循环单链表的初始化 二.判断是否为空或表尾结点 三.循环双链表的初始化 四.循环双链表的插入与删除 前言 对于循环单链表而言,在进行插入和删除时,可以让指针指向尾部,对于表头(通过 ...
- 【数据结构】循环单链表的实现(C语言)
循环单链表应掌握以下基本操作: 1.建立一个空的循环单链表. 2.获得循环单链表的最后一个结点的位置. 3.输出循环单链表中各结点的值. 4.在循环单链表中查找值为x的结点. 5.在循环单链表中第i个 ...
- python定义链表节点_Python数据结构与算法之链表定义与用法实例详解【单链表、循环链表】...
本文实例讲述了Python数据结构与算法之链表定义与用法.分享给大家供大家参考,具体如下: 本文将为大家讲解: (1)从链表节点的定义开始,以类的方式,面向对象的思想进行链表的设计 (2)链表类插入和 ...
- 线性表文档之循环单链表
循环单链表 定义 概念 循环单链表是在单链表的基础上,将链表最后一个结点的 next 指针域指向了链表的第一个结点(如果单链表是带头结点的则最后一个结点的 next 指针域指向头结点:如果单链表是不带 ...
- 线性表文档之循环双链表
循环双链表 定义 概念 循环双链表就是在双链表的基础上,见链表的尾结点和链表的第一个结点连接起来,形成一个循环. 如果是带头结点的循环双链表,则将链表的尾结点的 next 指针指向链表的头结点,将链表 ...
最新文章
- 09Mybatis_入门程序——删除用户以及更新用户
- 一款java代码生成器(我受够了加班),走起!
- JPA实体锁定模式的差异
- [赵星理]《简单男人》--歌曲温暖你的心,激励你前进
- 基于SSM+MySQL的实现的汽车门店管理平台系统
- 除了PS,这几款设计软件也是我的最爱
- 双十一,咪蒙广告位为何供不应求?
- 基于WIFI连接MAC绑定的点名及数据挖掘探究
- Android手机存储路径
- 苹果免密支付怎么关闭_有人苹果手机被盗刷了!那是设置有问题...
- Quartus-建立新工程
- git 相关文件指令随笔
- irq: nobody cared (try booting with the “irqpoll” option)
- html语言加图片,html代码——给图片加边框代码
- 使用avue图标选择器出现图标无法显示解决
- 强袭自由高达,我的第一个作品
- a到z的ascii码值是多少_a和A对应的ASCII码数值分别是多少啊?
- 虚拟机安装windows10
- 详解jsPlumb这个javascript的可拖动连线库
- CDH安装指南(Centos6)
热门文章
- 如何快速清空一个文件内容
- 如何在mysql查询结果集中得到记录行号_如何在MySQL查询结果集中得到记录行号...
- setdate java_在PreparedStatement中使用setDate
- java 驼峰自动映射_总结springboot开启mybatis驼峰命名自动映射的三种方式
- 曼彻斯特编码_网络工程师考点集锦(数字编码和编码效率)
- win7 mysql zip包如何安装_MySql 5.7.31 win7 Zip压缩包配置教程
- ubuntu 18.04.1安装hadoop3.1.2
- [转载]----Hadoop2.0命令手册
- SpringSecurity初步理解
- Study 3 —— Python运算符