有两种方法建立单链表,尾插法和头插法,他们的区别是:头插法是按照输入元素倒序建立,为尾插法为顺序插入,并且多一个尾节点,我们一般使用尾插法。
一.头插法

代码为:

pCurr -> next = pHead -> next;
pHead -> next = pCurr;

二.尾插法

pTail -> next = pCurr;
pTail = pCurr;

完整代码如下:

//头插法和尾插法建立单链表及
#include <stdio.h>
#include <stdlib.h>
struct Node {int data;Node* next;
};
void tailInvert(int* data);
void headInvert(int* data);
int main() {int data[5] = {1, 2, 3, 4, 5};tailInvert(data);printf("\n");headInvert(data); }void tailInvert(int* data) {Node* pHead = (Node*)malloc(sizeof(Node));Node* pCurr = NULL;Node* pTail = pHead;for(int i = 0; i < 5; ++i) {pCurr = (Node*)malloc(sizeof(Node));pCurr -> data = data[i];pTail -> next = pCurr;pTail = pCurr;}pTail -> next = NULL;printf("尾插法:\n");for(int j = 0; j < 5; ++j) {printf("%d\t", pHead -> next -> data);pHead = pHead -> next;}
}void headInvert(int* data)
{Node* pHead = (Node*)malloc(sizeof(Node));pHead -> next = NULL;Node* pCurr = NULL;for(int i = 0; i < 5; ++i) {pCurr = (Node*)malloc(sizeof(Node));pCurr -> next = pHead -> next;              //巧妙 pCurr -> data = data[i];pHead ->next = pCurr;}printf("头插法:\n");for(int j = 0; j < 5; ++j) {printf("%d\t", pHead -> next -> data);pHead = pHead -> next;}
}

头插法和尾插法建立带头节点的单链表相关推荐

  1. 数据结构c/c++ 头插法尾插法建立带头结点的单链表,以数组创建带头结点的单链表和不带头结点的单链表,输出打印单链表

    // // Created by 焦娇 on 2021/9/17. //#ifndef CHAPTER2_LINELINK_LLK_H #define CHAPTER2_LINELINK_LLK_H# ...

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

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

  3. 用头插法和尾插法建立单链表(带头结点)

    尾插法建立单链表 LinkList List_TailInsert(LinkList &L) {int x;L=(LinkList)malloc(sizeof(LNode));LNode *s ...

  4. 头插法和尾插法建立单链表

    在进行单链表的基本运算之前必须先建立单链表,建立单链表的常用方法有两种:头插法建表和尾插法建表 头插法建表,从一个空表开始,读取字符数组a中的字符,生成新节点,将读取的数据存放到新节点的数据域中,然后 ...

  5. 单链表的建立(C语言):头插法和尾插法建立单链表

    采用头插法建立单链表 该方法从一个空表开始,生成新结点,并将读取到的数据存放到新结点的数据域中,然后将新结点插入到当前链表的表头,即头结点之后,如图2-4所示. 图2-4  头插法建立单链表 头插法建 ...

  6. 头插法和尾插法建立链表

    #include "stdio.h" #include "stdlib.h" typedef struct List { int data; struct Li ...

  7. 头插法和尾插法建立单链表详解与实现

    写在前面:本文使用C语言和C++引用,学C和C++的同学都是可以看懂的,C++毕竟向下兼容C.很详细,一篇能搞懂代码和原理. 先来了解几个简单概念 单链表就是线性表的链式存储: 头结点:单链表在第一个 ...

  8. 数据结构—分别用头插法和尾插法建立单链表

    #include <iostream> using namespace std; typedef struct LNode{int data;struct LNode *next; }LN ...

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

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

最新文章

  1. 怎样在表格中选出同一类_3分钟教会你如何将不同表格中的数据关联在一起
  2. PythonGUI开发:59行代码开发小型商店添加系统
  3. hibernate xxx is not mapped 错误原因及解决方法
  4. VTK:图片之ImageDifference
  5. 使用聚合的方式实现静态代理
  6. 使用pandas时遇到ValueError: numpy.dtype has the wrong size, try recompiling
  7. php获取对象属性值
  8. jsp和servlet面试题
  9. vue导出自定义的excel表格
  10. win10安装完ubuntu后win10时间改变了 最简单调整方式
  11. EMC Isilon存储服务器误删除虚拟机恢复过程
  12. 手机浏览器能上网微信无法连接服务器,手机打不开微信的网页怎么办?手机打不开微信网页的原因和解决方法...
  13. potato土豆登录不了_土豆@mz123789【电子竞技赛吧】
  14. 台式计算机总是重启,台式电脑总是自动重启,查不出问题!
  15. chrome浏览器不能显示本地图片办法解决(图片预览)
  16. 形参和实参的定义与区别
  17. Java学到什么程度才能叫精通?
  18. excel制作动态数据分析报表
  19. 异形结构的纳米材料:纳米团簇/纳米丝/纳米棒/纳米管的相关研究
  20. 商用设计素材库,设计师必备。

热门文章

  1. Jieba:高频词提取
  2. 拉一塔准则python_学习笔记之Python实现纵横向拉开档次法-研究方法概述
  3. vue使用pdf.js实现移动端在线PDF文件预览
  4. DataScienceML:金融科技领域之风控的简介、类别、应用流程(定义目标变量→特征构建思路等)、案例集锦之详细攻略
  5. 安凯微在科创板IPO过会:计划募资10亿元,小米等为其股东
  6. 从母语学习规律中推断出英语学习的规律
  7. SAP ABAP 四舍五入函数
  8. Centos中安装docker并查看拉取镜像的位置
  9. 基于Qt的图像处理技术和算法
  10. ajp_read_header: ajp_ilink_receive failed