链表节点类型为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++版本)相关推荐

  1. C语言之简单版本银行储蓄系统4(结构体版本)

    1.老学长的唠叨 在上一个编的数组版本的简化银行系统的基础上改为结构体存储,为还没有学到结构体的学弟学妹们提供一个迁就的方案,现在将程序改为结构体存储了,也希望学弟学妹们有个c语言学习缓冲的时间,这个 ...

  2. 数据结构-二叉链表的结构与实现

    目录 一.引言 二.什么是二叉链表 三.二叉链表的结构 四.二叉链表的实现 1. 创建二叉链表 2. 遍历二叉链表 3. 插入节点 4. 删除节点 五.应用场景 六.总结 七.代码示例 一.引言 数据 ...

  3. 已知一棵二叉树的中序序列和后序序列,写一个建立该二叉树的二叉链表存储结构的算法...

    已知一棵二叉树的中序序列和后序序列,写一个建立该二叉树的二叉链表存储结构的算法 #define N 10 //二叉树节点的个数 char postorderstr[]={};//后序序列 char i ...

  4. 线性单链表存储结构c语言代码,单链表定义-(线性表的链表存储结构)

    线性表分为:顺序存储结构和连存储结构 顺序存储结构的优点: 1.空间利用率高,几乎不需要额外的空间开销. 2.数据的逻辑结构和物理结构完全一致. 3.结点地址计算的时间和线性表的规模大小无关. 4.可 ...

  5. 2-1-单链表顺序存储结构-线性表-第2章-《数据结构》课本源码-严蔚敏吴伟民版...

    课本源码部分 第2章  线性表 - 单链表顺序存储结构 --<数据结构>-严蔚敏.吴伟民版        ★有疑问先阅读★ 源码使用说明  链接☛☛☛ <数据结构-C语言版>( ...

  6. 数据结构单向链表线性结构_线性数据结构链表为何以及如何解释

    数据结构单向链表线性结构 Imagine you have gone to a crowded place, say to a k-pop concert with your friends and ...

  7. 《大话数据结构》5一文学会数据结构中的静态链表存储结构(概念,实例,代码)

    静态链表 1.静态链表基本介绍 (1)静态链表:用数组来代替指针,来描述单链表.我们把用数组描述下标的链表叫做静态链表.也叫游标实现法. (2)首先让数组的元素是两个数据域组成,data 和cur.也 ...

  8. java 链表 最小堆优先级队列_关于Java集合的小抄

    List ArrayList 以数组实现.节约空间,但数组有容量限制.超出限制时会增加50%容量,用System.arraycopy()复制到新的数组,因此最好能给出数组大小的预估值.默认第一次插入元 ...

  9. 单链表的代码python_python版本单链表实现代码

    今天看了一下数据结构的书,发现其实数据结构没有几种,线性表,数组,字符串,队列和栈,等等,其实是一回事,然后就是树结构,图结构.数据结构的理论并不难,主要是要自己写一下这些数据结构以及对应的基本的操作 ...

  10. java 链表放置结构体_结构体和它在链表中的使用

    一.结构体 由不同类型的数据组合成一个整体,以便引用,这些组合在一个整体中的数据是互相联系的. 1.1如何声明结构体呢? struct 结构体名  //结构体名字用作结构体类型的标志 {成员列表}; ...

最新文章

  1. 容器化部署实践之Django应用部署(二)
  2. 手机端实现点击复制功能
  3. 聚合型神器!有了他,手机里app可以删一半
  4. python输入整数_Python中实现输入一个整数的案例
  5. Windows环境下搭建Tomcat
  6. python写代码酷炫插件_使用 Python 制作酷炫多彩的 Jenkins 插件词云图
  7. Android调试出现问题:failed to connect to /10.0.2.2 (port 8080) from /192.168.31.150 (port 37592) after 300
  8. 【COM编程】如何往IE工具条添加按钮
  9. 关于阿里云云虚拟主机上传php论坛代码的那点事
  10. python语言的变量_自兴人工智能------Python语言的变量认识及操作
  11. 最新最简便解决 teamviewre检测为商业用途 的方法
  12. 武汉php东和,武汉--从轨道交通线网规划看黄陂、东西湖和江夏等新兴区域发展潜力...
  13. 如何做推广?利用今日头条吸引大量精准粉丝
  14. springboot2------自定义消息转换器
  15. Labview LabSQL下载
  16. 踩坑实录——多光谱影像(.tif)输入深度学习网络训练
  17. 瑞吉外卖-2022微信小程序点餐项目
  18. java swt shell_一个java swt桌面程序开发到打包的总结(1)
  19. 《程序员修炼之道》笔记(二)
  20. 1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。(回文数)

热门文章

  1. 深度学习课程笔记(十三)深度强化学习 --- 策略梯度方法(Policy Gradient Methods)...
  2. jquery实现上拉加载更多
  3. 19.go fix 和 go tool fix
  4. 30. SELinux
  5. 71. 尽早刷新文档的输出
  6. 21. Function 对象
  7. TestComplete自动化测试视频教程
  8. 盒模型bug的解决方法
  9. 应用安全 - Web安全 - 逻辑漏洞整理
  10. python的内置函数 剖析