编程导航算法通关村第 1 关|青铜 - C++是如何构造出链表的

这篇具有很好参考价值的文章主要介绍了编程导航算法通关村第 1 关|青铜 - C++是如何构造出链表的。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

         在C++中,链表是由一系列节点构成的,每个节点包含一个值和一个指向下一个节点的指针。

        我们可以用结构体定义出一个节点:

        

struct ListNode {
    int value;
    struct ListNode *next;
};

     在定义完后,我们将链表进行初始化,并插入5条数据:

struct ListNode* initNode(){
    // 创建头指针
    struct ListNode *p;

    // 创建头节点
    auto *head = new ListNode;
    head->value = 0;
    head->next = nullptr;

    p = head;

    //插入数据
    for (int i = 0; i < 5; ++i) {
        auto* t = new ListNode;
        t->value = i+1;
        t->next = nullptr;

        head->next = t;
            head = head->next;
    }

    return p;
}

  接着我们在主函数中进行测试,看看是否能成功打印出链表:

int main() {
    struct ListNode* p;
    p = initNode();
    // 打印链表
    while (p != nullptr){
        cout << p->value << endl;
        p = p->next;
    }
    
    return 0;
}

运行结果如图所示:

编程导航算法通关村第 1 关|青铜 - C++是如何构造出链表的,c++,开发语言,数据结构,链表

        这段代码输出了链表中所有节点的值,0到5。在创建链表时,首先创建了一个值为0的头节点,然后添加了5个值为1到5的节点。在遍历并打印链表时,按照节点在链表中的顺序打印出它们的值。

        至此,成功构建链表。文章来源地址https://www.toymoban.com/news/detail-635940.html

到了这里,关于编程导航算法通关村第 1 关|青铜 - C++是如何构造出链表的的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 编程导航算法通关村 |两两交换链表中的节点、单链表加1

    推荐我自己加入的一个编程学习圈子,里面有编程学习路线和原创的项目教程,以及可 1 对 1 和大厂嘉宾交流答疑,也希望能对大家有帮助,扫 ⬇️ 二维码即可加入

    2024年02月16日
    浏览(28)
  • 算法通关村|青铜挑战----链表

    前言:数据结构的基础:创建+增删改查 学习目标:单链表的创建+增删改查,双链表的创建+增删改查 数据域+指针域 数据域:当前节点的元素值 指针域:当前节点保存的下一个节点的元素的地址,其中最后一个元素的指针域指向null 标准的面向对象的节点的定义: LeetCode中节

    2024年02月15日
    浏览(26)
  • [Go版]算法通关村第一关青铜——链表青铜挑战笔记

    单向链表图示: 双向链表图示: 环形单向链表图示: 环形双向链表图示: 源码地址: GitHub-golang版本 如果是单向的,需要将当前节点 定位到要插入节点的前一个节点 ,否则一旦过了将无法回头找到前一个节点 如果是双向的,将当前节点 定位到要插入节点的前一个节点、

    2024年02月13日
    浏览(29)
  • 算法通关村第一关——链表青铜挑战笔记

    链表的基本单元就是 节点 ,也就是说链表是由一个一个节点构成的。 而对于节点来说,里面至少会包含一个 指针 和一个 数据元素 ,也就是如下图所示: 其中数据域用来存放数据元素,指针域用来存放指向下一个节点的指针,这样一个一个连接起来的就是链表。如下图所

    2024年02月16日
    浏览(34)
  • 《算法通关村第一关——链表青铜挑战笔记》

    链表中每个结点内部的“生态环境”。 数据域存储元素的值,指针域存放指针。 示例: c语言构造链表 可分为三步 1.创建头指针。 2.创建头结点,使头指针指向头结点。 3.循环创建结点,并使前一个结点指向当前结点。 1.)创建结点。 2.)使前一个结点指向当前结点。 3.)

    2024年02月15日
    浏览(28)
  • 算法通关村第一关--链表青铜挑战笔记

    开始时间:2023年7月16日20:45:26 什么是链表,链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。 链表的入口节点称为链表的头结点也就是hea

    2024年02月17日
    浏览(34)
  • 算法通关村第一关 | 链表青铜挑战笔记

    一、 什么是链表? 链表是一种比较简单、很常见的数据结构,是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 二、链表的特点 链表是一种比较简单、很常见的数据结构,是线性表(List)的一种,是一种物理存

    2024年02月14日
    浏览(29)
  • 算法通关村第一关———链表青铜挑战笔记

    通过类来构建节点,用next指针将节点连起来。 会有插入位置的范围问题,不能超出链表范围 会有删除位置的范围问题 构造双向链表 插入和删除都有三种情况,头中尾  

    2024年02月15日
    浏览(33)
  • 算法通关村第一关-链表青铜挑战笔记

    平时我们一般都是用数组,每个数组都会有一个相对应的索引,这样就使得数组能够方便的调用出对应索引得到需要的数据,但是这也造成了一个问题,那就是不好在数组中插入或者删除一个数据,例如 int arr[]={1,2,4,5}如果我想在数组中的2和4中添加一个数据3 那么我们首先就

    2024年02月15日
    浏览(34)
  • 算法通关村第10关【青铜】| 快速排序各种写法

    思路: 指定一个数字,将数组比他小的放到左边,比他大的放到右边,实现归位 然后再指定一个数字递归,一直遍历完数组 最好的情况每次指定的都是中间位置的数字,划分完后两边长度相等,2T(n/2) + O(n),复杂度O(nlog(n)) 可以证明,平均情况下的时间复杂度也是O(nlog(n)) 最

    2024年02月10日
    浏览(21)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包