首页 > 其他分享 >2024/11/24 链表

2024/11/24 链表

时间:2024-11-24 19:45:03浏览次数:11  
标签:11 2024 ListNode val next 链表 内存 节点

链表

1.类型

(1)单链表

(2)双链表

(3)循环链表

2.链表在内存的存储方式

  数组是在内存中是连续分布的,但是链表在内存中可不是连续分布的,而是散乱分布在内存中的某地址上,分配机制取决于操作系统的内存管理。

  链表是通过指针域的指针链接在内存中各个节点。

3.链表的定义

  定义链表节点方式

Python:

class ListNode:
    def __init__(self, val, next=None):
            self.val = val
            self.next = next

C++

//单链表
struct ListNode{
    int val; //节点上存储的元素
    ListNode *next; //指向下一个节点的指针
    ListNode(int x) : val(x), next(NULL) {} //节点的构造函数
};

  

4.链表的操作

(1)删除节点

  删除节点后,C++中最后再手动释放该节点,从而释放这块内容。

  Java语言,Python语言,有自己的内存回收机制,不需要手动释放。

  链表的增添和删除都是O(1)操作,但是删除最后一个节点,时间复杂度是O(n)

(2)增加节点

4’链表与数组的比较

  数组在定义的时候,长度就是固定的,如果想改动数组的长度,就需要重新定义一个新的数组。

  链表的长度可以是不固定的,并且可以动态增删, 适合数据量不固定,频繁增删,较少查询的场景。

 

标签:11,2024,ListNode,val,next,链表,内存,节点
From: https://www.cnblogs.com/spp20/p/18566256

相关文章

  • [luoguP11323] Happy Card
    题意原题链接有\(n\)种牌,第\(i\)种牌有\(a_i\)张,每次可以出\(1\)张(单牌)、\(2\)张(对子)或\(4\)张相同的牌(四炸),或是\(3\)张相同的牌及\(1\)张不同的牌(三带一),求把牌出完最少需要多少次。sol赛时看到这道题,就想到了[luoguP2668]斗地主,由于没有顺子,因此可以直接考虑......
  • 2024-2025-1 学号:20241301 《计算机基础与程序设计》第九周学习总结
    |这个作业属于哪个课程|2024-2025-1-计算机基础与程序设计||这个作业要求在哪里|2024-2025-1计算机基础与程序设计第一周作业||这个作业的目标|<复习知识,巩固基础>||作业正文|https://www.cnblogs.com/HonJo/p/18566259|一、教材学习内容总结(一)指针与数组在C语言中,指针和数......
  • 2024-2025-1 20241327 《计算机基础与程序设计》第九周学习总结
    作业信息|2024-2025-1-计算机基础与程序设计)||--|-|2024-2025-1计算机基础与程序设计第九周作业)||快速浏览一遍教材计算机科学概论(第七版),课本每章提出至少一个自己不懂的或最想解决的问题并在期末回答这些问题|作业正文|https://www.cnblogs.com/shr060414/p/18440575|教......
  • 2024-2025-1 20241416 《计算机基础与程序设计》第九周学习总结
    作业信息这个作业属于哪个课程 [2024-2025-1-计算机基础与程序设计]这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK09这个作业的目标 操作系统责任、内存与进程管理、分时系统、CPU调度、文件、文件系统、文件保护、磁盘调度作业正文 https://www.cn......
  • newstar2024 reverse
    Newstar2024--Reversebase64无壳shiftf12查找字符串换表的base64加密Simple_encryption打开主函数直接查看buffer,逆向破解enc=[0x47,0x95,0x34,0x48,0xA4,0x1C,0x35,0x88,0x64,0x16,0x88,0x07,0x14,0x6A,0x39,0x12,0xA2,0x0A,0x37,0x5C,0......
  • Metasploit Pro 4.22.5-2024111401 发布下载,新增功能概览
    MetasploitPro4.22.5-2024111401发布下载,新增功能概览MetasploitPro4.22.5-2024111401(Linux,Windows)-专业渗透测试框架Rapid7Penetrationtesting,releasedNov14,2024请访问原文链接:https://sysin.org/blog/metasploit-pro-4/查看最新版。原创作品,转载......
  • 哔咔漫画PicACG官网版2024安卓下载-哔咔漫画
    哔咔漫画在数字化时代,移动应用(App)已成为人们日常生活不可或缺的一部分。哔咔漫画无论是娱乐、教育、购物还是办公,各类App都在不断改变我们的生活方式。哔咔漫画本文将详细介绍App软件制作的全过程,从概念设计到最终发布,帮助你了解如何开发一款成功的移动应用。哔咔漫画安卓苹果下......
  • P1125 [NOIP2008 提高组] 笨小猴 C语言
    先说思路:创建了一个函数来判断是否是质数,然后将字符串输入,因为题干中说长度小于100,再加上\0,所以要把长度定义为101,之后对每一个字母用双层循环进行遍历,外层用count来计数,若超过maxn则赋新值,minn同样,之后再对maxn-minn得到的数进行判断即可,之后根据题意用if-else语句即可完成......
  • e站官网版2024下载-e站(EhViewer)绿色板更新
    EhViewer漫画是一种通过图像和文字相结合的方式讲述故事的艺术形式。无论是专业的漫画家还是初学者,掌握漫画制作的基本步骤都是非常重要的。EhViewer本文将为你提供一份全面的漫画制作教程,EhViewer从构思到发布,每一步都将详细介绍,帮助你顺利创作出高质量的漫画作品。构思与策划......
  • (2024最新毕设合集)基于SpringBoot的校园共享厨房信息系统-72647|可做计算机毕业设计JAV
    目 录摘要第一章 绪论1.1选题背景与意义1.2研究现状1.3论文结构与章节安排第二章系统分析2.1可行性分析2.1.1技术可行性分析2.1.2 经济可行性分析2.1.3操作可行性分析2.2系统功能分析2.2.1功能性分析2.2.2非功能性分析2.3 系统用例分......