前言

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

创建节点

链表是由一个个节点构成的,首先我们就要创建节点
首先用结构体创建节点Node

typedef struct Node
{int data;          //数据域struct Node* next;  //指针域
}LNode, * Linklist;     //LNode为节点,Linklist为zhiz

头插法创建单链表

Linklist CreateFromHead() //头插法创建单链表
{Linklist L;            //定义头指针LLNode *s;           //定义节点的指针sint x;                //定义要输入的数据L = (Linklist)malloc(sizeof(Linklist));//为头指针开辟内存空间L->next = NULL;       //将头指针的next初始化为空//输入数据printf("请输入一个整型数:");scanf("%d", &x);//用循环继续添加数据,当输入为-1时输入完成while (x != -1){s = (LNode*)malloc(sizeof(Linklist));//为新数据开辟内存空间s->data = x;      //将数据存入到节点的data中s->next = L->next;   //将新数据的next赋值为头节点的nextL->next = s;      //将头节点指向新数据//继续输入新的数据printf("请输入一个整型数:");scanf("%d", &x);}return L;              //返回头节点
}

尾插法创建单链表

Linklist CreateFromTail() //尾插法创建单链表
{Linklist L;            //定义头指针LLNode *r,*s;        //定义节点的指针r和s,s指向新开辟的数据,r指向尾节点int x;               //定义要输入的数据L = (LNode*)malloc(sizeof(LNode));//为头指针开辟内存空间L->next=NULL;      //将头指针的next初始化为空r=L;               //将尾指针指向头指针L//输入数据printf("请输入一个整型数:");scanf("%d", &x);//用循环继续添加数据,当输入为-1时输入完成while (x != -1){s = (LNode*)malloc(sizeof(LNode));//为新数据开辟内存空间s->data = x;                     //将数据存入到节点的data中s->next = r->next;                   //将新数据的next赋值为头节点的nextr->next = s;                      //将尾指针指向新数据r=s;                                //将新插入的节点设为尾指针//输入数据printf("请输入一个整型数:");scanf("%d", &x);}r->next=NULL;                       //将尾指针的next指向NULLreturn L;      //返回头节点
}

总结

头插法和尾插法建立单链表步骤很相似,而尾插法需要将新插入的节点重新设为尾节点,以上就是两种方法创建单链表。

C语言头插法尾插法创建单链表相关推荐

  1. C语言的单链表创建:头插法/尾插法

    文章目录 前言 链表头插法 链表尾插法 源码实现 前言 接下来一段时间,将对数据结构进行复习,总的来说数据结构自大学之后忘记得有点吓人,为了防止脑容量本就小得脑袋更小,必须得持续性得温故了. 链表数据 ...

  2. c语言 链表建立头插法尾插法,单链表的创建(头插法和尾插法)

    单链表的创建分为头插法和尾插法,头插法是不断地向头结点插入新的结点.这样会使你所插入的结点值呈现逆序,所以头插法也可以实现单链表的逆置.尾插法是不断地向插入的新元素之后再插入新的元素.需要注意的是头插 ...

  3. 单链表的头插法和尾插法c语言实现

    /*单链表的头插法和尾插法c语言实现*/ #include <stdio.h> #include <stdlib.h> #include <string.h> #d ...

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

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

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

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

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

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

  7. C语言的双向链表头插法和尾插法,指定节点删除

    文章目录 前言 头插法 尾插法 删除节点 测试代码如下 前言 双向链表和单链表的唯一区别就是多个一个指针域而已,该指针域可以访问链表的上一个节点. 关于构造双向链表的过程我们常见的有两种方法,和单链表 ...

  8. 采用头插法和尾插法建立单链表

    面说一下如果用C语言建立单链表,分为头插法和尾插法两种. 采用头插法建立单链表 该方法从一个空表开始,生成新结点,并将读取到的数据存放到新结点的数据域中,然后将新结点插入到当前链表的表头,即头结点之后 ...

  9. 单链表的头插法尾插法及删除节点操作

    带头节点的单链表的头插法尾插法及删除节点操作 链表的操作对于初学者来说理解非常有难度,初学的同学们应该在学习链表的过程中多再练习本上画图,写一行代码就画出代码执行后链表各节点图的变化,方便理解.我也是 ...

最新文章

  1. spark指定python版本_如何将正常的Python应用程序正确转换为PySpark版本
  2. FileOutputSteam入门
  3. Hibernate--关系映射和关联关系的CRUD
  4. html的搜索框代码怎么写_网站新闻怎么写才能被搜索引擎收录?
  5. Oracle触发器1-介绍
  6. 【bzoj2038】[2009国家集训队]小Z的袜子(hose) 莫队算法
  7. Windows 下的文件被占用问题解决
  8. 计算机对log取反函数,ln计算(log计算器在线)
  9. 【使用pycharm管理github仓库】github代码版本控制
  10. 小学生C++编程启蒙
  11. Listary 配置常用搜索
  12. 初识AutoIt v3
  13. Spark宽窄依赖详解
  14. 在GridControl中使用GridLookUpEdit的正确姿势
  15. 谁能最后享受到胜利成果?
  16. 粘着控制基础入门(二)
  17. Game35传销模式的合约代码公布
  18. Python 面向对象 --- 多态
  19. 立体仓库WCS系统-堆垛机(SRM)控制
  20. 西门子SMART PLC的自由口发送测试(一)

热门文章

  1. 58. 最后一个单词的长度(水题)
  2. 更改Outlook OST数据文件位置
  3. 什么是纵向加密与横向隔离
  4. 可视化,mapboxGL加载台风风场动画
  5. web实现地图画标识物
  6. MAC Vmware FUSION网络配置
  7. 科学记数法在c语言中表示方法,c/c++开发分享在C语言中阅读科学记数法
  8. MySQL语法练习---常见题型练习
  9. 鸿蒙OS开源代码精要解读之——init
  10. 程序黑框中出现:(路径)用作为当前目录的以上路径启动了 CMD.EXE。 UNC 路径不受支持,默认值设为 Windows 目录。