C语言实现--顺序创建链表(尾插法)
写在前面:
关于“链表”的分析等,如果存在疑惑,想要探究过程,请读者参见文章:
“链表(详解)- C++(顺序创建链表-尾插法)”
之后再回到这个页面看C语言实现“链队列”, 为提高效率在这里不再重复进行分析介绍,C++与C语言分析过程相同,两者代码实现主要区别在于“编程语法”上,读者可以对比两篇文章中的代码部分体会。
代码实现
说明:采用C语言,编译环境为DevC++。
//导入头文件
#include<malloc.h>
#include<stdio.h>//创建结点结构
typedef struct Lnode{int data; //数据域 struct Lnode *next; //指针域
}Lnode,*Linklist; //顺序创建链表
void createList(Linklist &L){Linklist p,q; //辅助变量 L=(Linklist)malloc(sizeof(Lnode)); //为头结点L分配存储空间L->next=NULL; //头结点置为空q=L; //q指向L p = (Linklist)malloc(sizeof(Lnode)); //为新结点P分配存储空间scanf("%d",&p->data); //循环创建p、输入结点数据 while(p->data!=-10){p->next=q->next;q->next=p;q=p;p=(Linklist)malloc(sizeof(Lnode));scanf("%d",&p->data);}
} //输出链表元素
void printList(Linklist L){Linklist p; //辅助变量p=L->next; while(p!=NULL){printf("%d ",p->data);p=p->next;}printf("\n");
}//主函数
int main(){Linklist La; //定义链表 printf("创建L--请输入元素,以-10结束:\n");createList(La);printf("\n");printf("输出L验证:\n");printList(La);printf("\n");
}
运行结果
写在最后:
读两遍下来,如果仍然有不清楚的地方,可在评论区留言。
如果你有其他感到困惑的问题,欢迎留言。
C语言实现--顺序创建链表(尾插法)相关推荐
- 每日程序C语言42-带头结点的尾插法创建链表
题目: 创建单链表(4) 程序分析 带头结点的尾插法创建链表 尾插法顾名思义就是从结点的尾部进行插入,头结点不动,后面的元素依次加入,因为头结点的data中没有存放任何元素,故打印出来是任意存放的值 ...
- 每日程序C语言40-不带头结点的尾插法创建链表
题目: 创建一个链表(2) 程序分析 不带头结点的尾插法创建链表 这个是按照顺序插入的,尾插法,顾名思义就是从第一个节点的尾部插入,创建第一个节点之后,在循环中让前面的节点的next指针存储后面节点的 ...
- c语言尾插法步骤,头插法-顺序输出,尾插法-反向输出(C语言)
#include #include #include typedef struct node{ int data; struct node *next; }Node, *pNode; pNode re ...
- 数据结构之单链表尾插法创建-RearCreate
/* 单链表整表创建算法思路 1.声明一结点p和计数器变量i 2.初始化一空链表L 3.让L的头结点的指针指向NULL,即建立一个带头结点的单链表 4.循环: 生成一新结点赋值给p 随机生成一数字赋值 ...
- 单链表 尾插法 C语言
注意用malloc开辟空间用的是node*,而其对应的访问也是用"->" #include<iostream> #include<cstdio> #i ...
- C语言的双向链表头插法和尾插法,指定节点删除
文章目录 前言 头插法 尾插法 删除节点 测试代码如下 前言 双向链表和单链表的唯一区别就是多个一个指针域而已,该指针域可以访问链表的上一个节点. 关于构造双向链表的过程我们常见的有两种方法,和单链表 ...
- 单链表-两个线性表的合并(不破坏原链表+尾插法)
题意: 令L1 = (X1,X2,X3,X4-Xn), L2 = (y1,y2,y3,y4-ym);是两个线性表.采用带头节点的链表存储,设计一个算法合并L1,L2,结果放在线性表L3中,要求如下: ...
- 单链表-两个线性表的合并1(破环原链表+尾插法)
题意: 令L1 = (X1,X2,X3,X4-Xn), L2 = (y1,y2,y3,y4-ym);是两个线性表.采用带头节点的链表存储,设计一个算法合并L1,L2,结果放在线性表L3中,要求如下: ...
- C语言-链表的创建头插法和尾插法(有无头节点)
文章目录 结构声明 1 头插法(有头节点) 2 头插法(无头节点) 3 尾插法(有头节点) 4 尾插法(无头节点) 结构声明 typedef int ElementType;typedef struc ...
最新文章
- 第十九章 9标签类Label
- HTTP文件浏览(静态文件+express4.x+md/code文件渲染)
- 【趣说】IT人的职场艰难,全藏在气氛组里!
- mysql maxtmptables_mysql的tmp_table_size和max_heap_table_size
- Linux 运维必备150 个命令,值得收藏!
- C语言常用字符串函数
- c语言指针和数组的联系
- Linux常用正则表达式
- win10连接共享打印机_win7共享出来的打印机部分电脑无法连接的问题
- WinRAR去广告方法,了解一下?
- 【Python游戏】实现一个恶搞游戏,粉丝大战xxx小游戏(狗头保命) | 附带源码
- 硬盘检测重映射扇区计数失败
- Matlab GUI animatedline 串口实时
- 激活数字营销新引擎,亚马逊云科技为企业带来数字化营销新体验
- 处理器架构 (十五) 国产cpu芯片与架构
- RISC-V学习整理
- 全国计算机等级考试.pdf,全国计算机等级考试试题49662.pdf
- 子类不能继承或覆盖父类的private方法
- 安凯Cloud39EV200/V300平台支持ssv6255的双频usb wifi移植过程
- 功率谱密度相关方法的MATLAB实现
热门文章
- int.TryParse
- ASEMI代理IXYB82N120C3H1艾赛斯IGBT二极管
- 关于Win10蓝屏终止代码:WHEA_UNCORRECTABLE_ERROR的解决方法
- VLAN(局域网扩展小知识~)
- 关于广告资源管理平台的设计思考与总结
- python元组和列表的联系_Python元组与列表
- 基于android手机相册,基于安卓的手机图片分类软件的设计与实现.pdf
- 【死磕Sharding-jdbc】---路由执行
- 中国互联网向收费模式转型 依靠虚拟商品营利
- 在CSDN CTO俱乐部的发言实录《如何管理你的软件测试工作》