链表最小结构(C++版本)
链表节点类型为ListNode
struct ListNode
{ListNode(int newData) : data(newData), pNext(nullptr){}int data;ListNode* pNext;
};
链表类型为MyList
struct MyList
{MyList() : pHead(nullptr) {}ListNode* pHead;
};
涉及的操作为:
- 插入链表
void InsertList(MyList& myList, int newData)
{ListNode* pNewNode = new ListNode(newData);if (nullptr == myList.pHead){myList.pHead = pNewNode;pNewNode->pNext = nullptr;return;}ListNode* pCurNode = myList.pHead;while (pCurNode->pNext != nullptr) pCurNode = pCurNode->pNext;pCurNode->pNext = pNewNode;pNewNode->pNext = nullptr;
}
- 打印链表
void PrintList(MyList myList)
{ListNode* pCurNode = myList.pHead;while (pCurNode != nullptr){std::cout << pCurNode->data << " ";pCurNode = pCurNode->pNext;}std::cout << std::endl;
}
- 销毁链表
void ReleaseList(MyList& myList)
{ListNode * pCurNode = myList.pHead;while (pCurNode != nullptr){ListNode* pNextNode = pCurNode->pNext;delete pCurNode;pCurNode = pNextNode;}
}
此头文件为ListData.h
,完整内容如下
#include <iostream>struct ListNode
{ListNode(int newData) : data(newData), pNext(nullptr){}int data;ListNode* pNext;
};struct MyList
{MyList() : pHead(nullptr) {}ListNode* pHead;
};void InsertList(MyList& myList, int newData)
{ListNode* pNewNode = new ListNode(newData);if (nullptr == myList.pHead){myList.pHead = pNewNode;pNewNode->pNext = nullptr;return;}ListNode* pCurNode = myList.pHead;while (pCurNode->pNext != nullptr) pCurNode = pCurNode->pNext;pCurNode->pNext = pNewNode;pNewNode->pNext = nullptr;
}void PrintList(MyList myList)
{ListNode* pCurNode = myList.pHead;while (pCurNode != nullptr){std::cout << pCurNode->data << " ";pCurNode = pCurNode->pNext;}std::cout << std::endl;
}void ReleaseList(MyList& myList)
{ListNode * pCurNode = myList.pHead;while (pCurNode != nullptr){ListNode* pNextNode = pCurNode->pNext;delete pCurNode;pCurNode = pNextNode;}
}
链表最小结构(C++版本)相关推荐
- C语言之简单版本银行储蓄系统4(结构体版本)
1.老学长的唠叨 在上一个编的数组版本的简化银行系统的基础上改为结构体存储,为还没有学到结构体的学弟学妹们提供一个迁就的方案,现在将程序改为结构体存储了,也希望学弟学妹们有个c语言学习缓冲的时间,这个 ...
- 数据结构-二叉链表的结构与实现
目录 一.引言 二.什么是二叉链表 三.二叉链表的结构 四.二叉链表的实现 1. 创建二叉链表 2. 遍历二叉链表 3. 插入节点 4. 删除节点 五.应用场景 六.总结 七.代码示例 一.引言 数据 ...
- 已知一棵二叉树的中序序列和后序序列,写一个建立该二叉树的二叉链表存储结构的算法...
已知一棵二叉树的中序序列和后序序列,写一个建立该二叉树的二叉链表存储结构的算法 #define N 10 //二叉树节点的个数 char postorderstr[]={};//后序序列 char i ...
- 线性单链表存储结构c语言代码,单链表定义-(线性表的链表存储结构)
线性表分为:顺序存储结构和连存储结构 顺序存储结构的优点: 1.空间利用率高,几乎不需要额外的空间开销. 2.数据的逻辑结构和物理结构完全一致. 3.结点地址计算的时间和线性表的规模大小无关. 4.可 ...
- 2-1-单链表顺序存储结构-线性表-第2章-《数据结构》课本源码-严蔚敏吴伟民版...
课本源码部分 第2章 线性表 - 单链表顺序存储结构 --<数据结构>-严蔚敏.吴伟民版 ★有疑问先阅读★ 源码使用说明 链接☛☛☛ <数据结构-C语言版>( ...
- 数据结构单向链表线性结构_线性数据结构链表为何以及如何解释
数据结构单向链表线性结构 Imagine you have gone to a crowded place, say to a k-pop concert with your friends and ...
- 《大话数据结构》5一文学会数据结构中的静态链表存储结构(概念,实例,代码)
静态链表 1.静态链表基本介绍 (1)静态链表:用数组来代替指针,来描述单链表.我们把用数组描述下标的链表叫做静态链表.也叫游标实现法. (2)首先让数组的元素是两个数据域组成,data 和cur.也 ...
- java 链表 最小堆优先级队列_关于Java集合的小抄
List ArrayList 以数组实现.节约空间,但数组有容量限制.超出限制时会增加50%容量,用System.arraycopy()复制到新的数组,因此最好能给出数组大小的预估值.默认第一次插入元 ...
- 单链表的代码python_python版本单链表实现代码
今天看了一下数据结构的书,发现其实数据结构没有几种,线性表,数组,字符串,队列和栈,等等,其实是一回事,然后就是树结构,图结构.数据结构的理论并不难,主要是要自己写一下这些数据结构以及对应的基本的操作 ...
- java 链表放置结构体_结构体和它在链表中的使用
一.结构体 由不同类型的数据组合成一个整体,以便引用,这些组合在一个整体中的数据是互相联系的. 1.1如何声明结构体呢? struct 结构体名 //结构体名字用作结构体类型的标志 {成员列表}; ...
最新文章
- 容器化部署实践之Django应用部署(二)
- 手机端实现点击复制功能
- 聚合型神器!有了他,手机里app可以删一半
- python输入整数_Python中实现输入一个整数的案例
- Windows环境下搭建Tomcat
- python写代码酷炫插件_使用 Python 制作酷炫多彩的 Jenkins 插件词云图
- Android调试出现问题:failed to connect to /10.0.2.2 (port 8080) from /192.168.31.150 (port 37592) after 300
- 【COM编程】如何往IE工具条添加按钮
- 关于阿里云云虚拟主机上传php论坛代码的那点事
- python语言的变量_自兴人工智能------Python语言的变量认识及操作
- 最新最简便解决 teamviewre检测为商业用途 的方法
- 武汉php东和,武汉--从轨道交通线网规划看黄陂、东西湖和江夏等新兴区域发展潜力...
- 如何做推广?利用今日头条吸引大量精准粉丝
- springboot2------自定义消息转换器
- Labview LabSQL下载
- 踩坑实录——多光谱影像(.tif)输入深度学习网络训练
- 瑞吉外卖-2022微信小程序点餐项目
- java swt shell_一个java swt桌面程序开发到打包的总结(1)
- 《程序员修炼之道》笔记(二)
- 1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。(回文数)