| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 数据结构之链表的创建头结点与头指针 -> 正文阅读 |
|
[数据结构与算法]数据结构之链表的创建头结点与头指针 |
? ? ? ? 很多正在学C语言的小伙伴可能很快就会学到结构体了,当然单链表可是结构体里面的一块硬骨头,在单链表中我们要能够创建,删除,添加,打印单链表,今天我们就来说一说创建单链表。 ? ? ? ? 单链表的创建又分为两种情况,分别为头插法,和尾插法。当然,我们今天的重点不在这里,我们今天的重点在于头节点,头指针创建单链表(我们今天所用的方法都是头插法) ? ? ? ? 首先,我们先来介绍一下头结点,和头指针。 头结点: 1.点是为了操作方便而设立的,放在第一个元素结点之前,其数据一般无意义(但也可以用来存放链表长度) 2.结节点,对第一个元素结点前插入和删除第一结点操作与其它结点的操作就统一了; 头指针: 1.向链表第一个结点的指针,若链表有头结点,则是指向头结点的指针。 2.链表是否为空,头指针均不为空; 3.针是链表的必要元素; ? ? ? ? 接下来,我们将用头指针和头结点创建两个单链表给大家演示一下; 利用头结点
考虑到大家可能对于伪代码的使用不习惯,我所给大家呈现的都是源代码; 接下来我们用头指针试试
相信大家在看完两个代码后发现了他们俩一丢丢区别; 所谓的头结点就是第一个代码在create函数先创建一个结点L; 我们再创造第一个链表的时候并没有对L进行赋值,只是让它的next指针指向我们需要赋值的p结点,实现链接。 头指针就是第二个代码在main函数中申明的head指针; 我们用第一个head指针指向我们的创建的p结点,然后对后续进行操作; 可能大家还会有别的疑惑 比如说create函数为什么要用指针函数; 答案是这样的,使用指针函数返回值需要是一个指针; ?我们接下来print函数中形参是指针;我们刚好可以利用指针函数的返回值对print函数操作 在数据结构的书籍中大家可能还会见到这样申明结构体的
这里的LinkList 就等于我们上面的(struct node *),起到一个简化的作用,下面只要写到struct node? *都可以写成LinkList node 主要用于结点而LinkList 主要用于指针; 今天的分享就到这里了,如果有错误希望大家能及时向我提出。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 14:32:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |