news 2026/7/3 16:28:05

数据结构——双链表(C++)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数据结构——双链表(C++)

1. C++封装成类,基于面向对象

class DoublyLinkedList { private: struct Node { int data; Node* prior; Node* next; Node(int d) : data(d), prior(nullptr), next(nullptr) {} }; Node* head; // 哨兵头节点 Node* last; public: DoublyLinkedList() : head(new Node(0)), last(nullptr) { head->prior = nullptr; head->next = nullptr; } void printReverse() const { if (!last) return; for (Node* temp = last; temp != head; temp = temp->prior) { std::cout << temp->data << " "; } std::cout << std::endl; } ~DoublyLinkedList() { // 清理内存(略,需遍历删除) delete head; } };

2. 逆序遍历双链表

// 逆序打印(逻辑与之前完全一致) void printReverse() const { if (last == nullptr) { std::cout << "链表为空" << std::endl; return; } std::cout << "逆序输出: "; for (DNode* temp = last; temp != head; temp = temp->prior) { std::cout << temp->data << " "; } std::cout << std::endl; } ~DoublyLinkedList() { DNode* curr = head; while (curr != nullptr) { DNode* toDelete = curr; curr = curr->next; delete toDelete; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/27 14:41:18

DSP28335最小系统设计与嵌入式开发实践

1. DSP28335最小系统概述DSP28335最小系统是围绕TI公司TMS320F28335数字信号处理器构建的基础硬件平台&#xff0c;作为嵌入式系统开发的起点&#xff0c;它包含了处理器稳定运行所需的最基本电路模块。贺州学院这类工科院校常将其作为电子信息类专业的教学实验平台&#xff0c…

作者头像 李华
网站建设 2026/6/27 14:32:18

基于ShineBlink云的免开发氨气监测系统方案

1. 项目概述&#xff1a;基于ShineBlink云的氨气监测系统 在工业生产和农业养殖领域&#xff0c;氨气浓度监测一直是个重要但实施成本较高的需求。传统方案往往需要复杂的网关设备和定制化开发&#xff0c;而今天我们要介绍的这套开源方案&#xff0c;仅需一个支持Modbus协议的…

作者头像 李华
网站建设 2026/6/27 14:26:08

电赛E题扩展板设计:模块化与故障隔离实战

1. 项目背景与核心价值2025年全国大学生电子设计竞赛&#xff08;电赛&#xff09;E题"天猛星"扩展板的设计&#xff0c;是今年备赛阶段最受关注的硬件开发项目之一。作为一名参与过三届电赛命题评审的工程师&#xff0c;我观察到这类扩展板设计往往成为区分参赛队伍…

作者头像 李华
网站建设 2026/6/27 14:22:55

Type-C智能蓝牙音箱方案设计与优化

1. 项目背景与核心功能解析 这个Type-C智能蓝牙音箱方案最吸引人的地方在于它完美解决了传统音箱的三大痛点&#xff1a;充电接口混乱、功能单一和扩展性不足。作为一名音频设备开发者&#xff0c;我见证了从Micro USB到Type-C的转型过程&#xff0c;而这个方案可以说是目前最理…

作者头像 李华