数据结构之单链表尾插法创建-RearCreate
- /*
- 单链表整表创建算法思路
- 1.声明一结点p和计数器变量i
- 2.初始化一空链表L
- 3.让L的头结点的指针指向NULL,即建立一个带头结点的单链表
- 4.循环:
- 生成一新结点赋值给p
- 随机生成一数字赋值给p的数据域p->data
- 将p插入到头结点与前一新结点之间
- */
- #include <stdio.h>
- #include <stdlib.h>
- #define DATATYPE char
- typedef struct Node
- {
- DATATYPE data;
- struct Node *next;
- }LINKLIST;
- //尾插法创建循环单链表,执行输入:abcd1234回车,就创建8个数据节点
- LINKLIST *RearCreateLinkList()
- {
- LINKLIST *LinkList_Head,*LinkList_Point,*LinkList_Rear;
- char InputChar;
- LinkList_Head = (LINKLIST *)malloc(sizeof(LINKLIST));
- LinkList_Rear = LinkList_Head;
- puts("Please input the linklist' data: ");
- InputChar = getchar();
- while(InputChar != '\n')
- {
- LinkList_Point = (LINKLIST *)malloc(sizeof(LINKLIST));
- LinkList_Point->data = InputChar;
- LinkList_Rear->next = LinkList_Point;
- LinkList_Rear = LinkList_Point;
- InputChar = getchar();
- }
- LinkList_Rear->next = LinkList_Head;
- return(LinkList_Rear);
- }
- /*遍历循环链表,显示出每个节点data域*/
- void LinkListPrint(LINKLIST *LinkList_Rear)
- {
- LINKLIST *List_Point,*LinkList_Head;
- LinkList_Head = LinkList_Rear->next;
- if(LinkList_Head == LinkList_Rear)
- {
- printf("\n链表为空!\n");
- return;
- }
- List_Point = LinkList_Head->next;
- puts("遍历节点:");
- while(List_Point != LinkList_Head)
- {
- printf("%c ",List_Point->data);
- List_Point=List_Point->next;
- }
- puts("");
- /* 暂停,也可以使用system("pause"); */
- getchar();
- }
- int main()
- {
- LINKLIST *LinkList_Rear_1;
- /*尾插法创建循环单链表*/
- LinkList_Rear_1=RearCreateLinkList();
- /*打印循环单链表*/
- LinkListPrint(LinkList_Rear_1);
- return 0;
- }
Microsoft Visual C++ 6.0 下运行成功。
转载于:https://blog.51cto.com/liam2199/1026428
数据结构之单链表尾插法创建-RearCreate相关推荐
- 单链表 尾插法 C语言
注意用malloc开辟空间用的是node*,而其对应的访问也是用"->" #include<iostream> #include<cstdio> #i ...
- 数据结构学习(二)——单链表的操作之头插法和尾插法创建链表
http://blog.csdn.net/abclixu123/article/details/8210109 链表也是线性表的一种,与顺序表不同的是,它在内存中不是连续存放的.在C语言中,链表是通过 ...
- C语言头插法尾插法创建单链表
前言 链表 [Linked List]:链表是由一组不必相连[不必相连:可以连续也可以不连续]的内存结构 [节点],按特定的顺序链接在一起的抽象数据类型. 下面介绍单链表的创建: 创建节点 链表是由一 ...
- 每日程序C语言42-带头结点的尾插法创建链表
题目: 创建单链表(4) 程序分析 带头结点的尾插法创建链表 尾插法顾名思义就是从结点的尾部进行插入,头结点不动,后面的元素依次加入,因为头结点的data中没有存放任何元素,故打印出来是任意存放的值 ...
- 每日程序C语言40-不带头结点的尾插法创建链表
题目: 创建一个链表(2) 程序分析 不带头结点的尾插法创建链表 这个是按照顺序插入的,尾插法,顾名思义就是从第一个节点的尾部插入,创建第一个节点之后,在循环中让前面的节点的next指针存储后面节点的 ...
- 头插法和尾插法创建链表(有无头结点)
头插法和尾插法创建链表(有无头结点) 文章目录 头插法和尾插法创建链表(有无头结点) 1 头插法 1.1头插法建表规则: 1.2 头插法建表代码实现 2 尾插法 2.1 尾插法建表规则: 2.2 尾插 ...
- 计算机软件技术 上海电力学院,上海电力学院 计算机软件技术 实验三 用头插法和尾插法创建线性表...
上海电力学院计算机软件技术实验三用头插法和尾插法创建线性表 #include #define MAXLEN 9 struct table {int key; int othererm; } ; typ ...
- 头插法和尾插法创建单链表
首先声明一个单链表结构体. typedef struct LNode {int data;struct LNode * next;}LNode,*LinkNode; 链式存储如何一次性存储足够多的数据 ...
- 带头结点的头插法和尾插法创建单链表
首先我们先定义一个链表的结构体. typedef int DataType; typedef struct Node {DataType data;struct Node* next; }*SLNod ...
最新文章
- 第二十二课.DeepGraphLibrary(三)
- 微信小程序教学第三章第四节(含视频):小程序中级实战教程:下拉更新、分享、阅读标识...
- 使用clear fix清除浮动
- python里读写excel等数据文件的6种常用方式
- 《C程序设计语言》(第二版)要点总结
- 前凸后翘的步进电机调速算法~
- Python Flask实现修改和删除数据
- 【重难点】【JUC 03】怎么实现一个线程安全的队列、手写模拟实现一个阻塞队列
- Golang实践录:测试框架
- 全国医疗机构勒索病毒事件公告:阿里云发布公益行动
- 微信小程序开发——字体样式设置
- 手写curry函数,实现函数柯里化
- js试题及答案(五)
- cad引出线段lisp_利用lisp给CAD直线取整?
- mac 中文输入法无法使用
- 如何在阿里云提交工单
- 寻求真心话大冒险之猜数游戏的最佳策略
- Java判断字符串包含英文
- 2021年伊宁三中高考成绩查询,伊宁三中2015高考榜.doc
- 手机DCIM\.thumbnails 文件删除