1. /*
  2. 单链表整表创建算法思路
  3. 1.声明一结点p和计数器变量i
  4. 2.初始化一空链表L
  5. 3.让L的头结点的指针指向NULL,即建立一个带头结点的单链表
  6. 4.循环:
  7. 生成一新结点赋值给p
  8. 随机生成一数字赋值给p的数据域p->data
  9. 将p插入到头结点与前一新结点之间
  10. */
  11. #include <stdio.h>
  12. #include <stdlib.h>
  13. #define DATATYPE char
  14. typedef struct Node
  15. {
  16. DATATYPE  data;
  17. struct Node *next;
  18. }LINKLIST;
  19. //尾插法创建循环单链表,执行输入:abcd1234回车,就创建8个数据节点
  20. LINKLIST *RearCreateLinkList()
  21. {
  22. LINKLIST *LinkList_Head,*LinkList_Point,*LinkList_Rear;
  23. char InputChar;
  24. LinkList_Head = (LINKLIST *)malloc(sizeof(LINKLIST));
  25. LinkList_Rear = LinkList_Head;
  26. puts("Please input the linklist' data: ");
  27. InputChar = getchar();
  28. while(InputChar != '\n')
  29. {
  30. LinkList_Point = (LINKLIST *)malloc(sizeof(LINKLIST));
  31. LinkList_Point->data = InputChar;
  32. LinkList_Rear->next = LinkList_Point;
  33. LinkList_Rear = LinkList_Point;
  34. InputChar = getchar();
  35. }
  36. LinkList_Rear->next = LinkList_Head;
  37. return(LinkList_Rear);
  38. }
  39. /*遍历循环链表,显示出每个节点data域*/
  40. void LinkListPrint(LINKLIST *LinkList_Rear)
  41. {
  42. LINKLIST *List_Point,*LinkList_Head;
  43. LinkList_Head = LinkList_Rear->next;
  44. if(LinkList_Head == LinkList_Rear)
  45. {
  46. printf("\n链表为空!\n");
  47. return;
  48. }
  49. List_Point = LinkList_Head->next;
  50. puts("遍历节点:");
  51. while(List_Point != LinkList_Head)
  52. {
  53. printf("%c  ",List_Point->data);
  54. List_Point=List_Point->next;
  55. }
  56. puts("");
  57. /* 暂停,也可以使用system("pause"); */
  58. getchar();
  59. }
  60. int main()
  61. {
  62. LINKLIST *LinkList_Rear_1;
  63. /*尾插法创建循环单链表*/
  64. LinkList_Rear_1=RearCreateLinkList();
  65. /*打印循环单链表*/
  66. LinkListPrint(LinkList_Rear_1);
  67. return 0;
  68. }

Microsoft Visual C++ 6.0 下运行成功。

转载于:https://blog.51cto.com/liam2199/1026428

数据结构之单链表尾插法创建-RearCreate相关推荐

  1. 单链表 尾插法 C语言

    注意用malloc开辟空间用的是node*,而其对应的访问也是用"->" #include<iostream> #include<cstdio> #i ...

  2. 数据结构学习(二)——单链表的操作之头插法和尾插法创建链表

    http://blog.csdn.net/abclixu123/article/details/8210109 链表也是线性表的一种,与顺序表不同的是,它在内存中不是连续存放的.在C语言中,链表是通过 ...

  3. C语言头插法尾插法创建单链表

    前言 链表 [Linked List]:链表是由一组不必相连[不必相连:可以连续也可以不连续]的内存结构 [节点],按特定的顺序链接在一起的抽象数据类型. 下面介绍单链表的创建: 创建节点 链表是由一 ...

  4. 每日程序C语言42-带头结点的尾插法创建链表

    题目: 创建单链表(4) 程序分析 带头结点的尾插法创建链表 尾插法顾名思义就是从结点的尾部进行插入,头结点不动,后面的元素依次加入,因为头结点的data中没有存放任何元素,故打印出来是任意存放的值 ...

  5. 每日程序C语言40-不带头结点的尾插法创建链表

    题目: 创建一个链表(2) 程序分析 不带头结点的尾插法创建链表 这个是按照顺序插入的,尾插法,顾名思义就是从第一个节点的尾部插入,创建第一个节点之后,在循环中让前面的节点的next指针存储后面节点的 ...

  6. 头插法和尾插法创建链表(有无头结点)

    头插法和尾插法创建链表(有无头结点) 文章目录 头插法和尾插法创建链表(有无头结点) 1 头插法 1.1头插法建表规则: 1.2 头插法建表代码实现 2 尾插法 2.1 尾插法建表规则: 2.2 尾插 ...

  7. 计算机软件技术 上海电力学院,上海电力学院 计算机软件技术 实验三 用头插法和尾插法创建线性表...

    上海电力学院计算机软件技术实验三用头插法和尾插法创建线性表 #include #define MAXLEN 9 struct table {int key; int othererm; } ; typ ...

  8. 头插法和尾插法创建单链表

    首先声明一个单链表结构体. typedef struct LNode {int data;struct LNode * next;}LNode,*LinkNode; 链式存储如何一次性存储足够多的数据 ...

  9. 带头结点的头插法和尾插法创建单链表

    首先我们先定义一个链表的结构体. typedef int DataType; typedef struct Node {DataType data;struct Node* next; }*SLNod ...

最新文章

  1. 第二十二课.DeepGraphLibrary(三)
  2. 微信小程序教学第三章第四节(含视频):小程序中级实战教程:下拉更新、分享、阅读标识...
  3. 使用clear fix清除浮动
  4. python里读写excel等数据文件的6种常用方式
  5. 《C程序设计语言》(第二版)要点总结
  6. 前凸后翘的步进电机调速算法~
  7. Python Flask实现修改和删除数据
  8. 【重难点】【JUC 03】怎么实现一个线程安全的队列、手写模拟实现一个阻塞队列
  9. Golang实践录:测试框架
  10. 全国医疗机构勒索病毒事件公告:阿里云发布公益行动
  11. 微信小程序开发——字体样式设置
  12. 手写curry函数,实现函数柯里化
  13. js试题及答案(五)
  14. cad引出线段lisp_利用lisp给CAD直线取整?
  15. mac 中文输入法无法使用
  16. 如何在阿里云提交工单
  17. 寻求真心话大冒险之猜数游戏的最佳策略
  18. Java判断字符串包含英文
  19. 2021年伊宁三中高考成绩查询,伊宁三中2015高考榜.doc
  20. 手机DCIM\.thumbnails 文件删除

热门文章

  1. Linux命令行文档查看cat、less、more、head、tail和图片查看
  2. python实现人像美颜
  3. qrencode二维码生成在linux下的编译
  4. 结构型模式之Decorator模式
  5. JAVA写接口傻瓜(#)教程(四)
  6. JavaScript对象this指向(普通键this指向 非指向函数的键)
  7. Unity InvalidOperationException: out of sync错误
  8. UE4 custom depth 自定义深度
  9. BZOJ 1009 [HNOI2008]GT考试
  10. 穹顶下业务流程管理失位