首页 > 其他分享 >LinkedList

LinkedList

时间:2025-01-21 11:55:24浏览次数:1  
标签:head LinkedList LinkedListNode WriteLine 节点 linkedList

LinkedList

LinkedList 是一个可变类型的泛型双向链表


LinkedList<int> linkedList = new LinkedList<int>();
//往链表尾部加
linkedList.Addlast(1);
//往链表头部加
linkedList.AddFirst(2);
//在某个节点之后加一个节点
LinkedListNode<int> n = linkedList.Find(1);
linkedList.AddAfter(n,15);
//在某个节点之前加一个节点
linkedList.AddBefore(n,10);
//移除头节点
linkedList.RemoveFirst();
//移除尾节点
linkedList.RemoveLast();
//移除指定节点
linkedList.Remove(1);
//清空
linkedList.Clear();
//查头节点
LinkedListNode<int> first = linkedList.First;
//查尾节点
LinkedListNode<int> last = linkedList.Last;
//查指定元素,找不到的话会返回null
LinkedListNode<int> node = linkedList.Find(1);
//判断存在
if (linkedList.Contains(1))
{
    Console.WriteLine("存在1")
}
//要先得到节点才能改
linkedList.First.Value = 10;
//foreach遍历
foreach (int item in linkedList)
{
    Console.WriteLine(item);
}
//从头到尾遍历
LinkedListNode<int> head = linkedList.First;
while(head != null)
{
    Conosle.WriteLine(head.Value);
    head =head.Next;
}
LinkedListNode<int> tail = linkedList.Last;
while(head != null)
{
    Conosle.WriteLine(tail.Value);
    tail = tail.Previous;
}

标签:head,LinkedList,LinkedListNode,WriteLine,节点,linkedList
From: https://www.cnblogs.com/cannedmint/p/18683260

相关文章

  • 05容器篇(D2_集合 - D6_容器源码分析篇 - D2_LinkedList)
    目录本章目标一、基本介绍二、原理分析1.数据结构2.默认容量&最大容量3.扩容机制4.为什么LinkedList查询慢,增删快?1>为什么增删快?2>为什么查询慢?三、经典大厂面试题1.ArrayList的JDK1.8之前与之后的实现区别?2.List和Map区别?3.Array和ArrayList有何......
  • Java集合 —— LinkedList详解(源码)
    在学习LinkedList之前先来了解一下链表链表概念 链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序通过链表中的指针链接次序实现的 图中的1、2、3、4、5都是结构体,称为结点;结构体包含所存的数据和下一结点的地址。顺序表中的地址是连续的,而链表中......
  • 【数据结构练习题】顺序表与链表LinkedList
    顺序表与链表LinkedList选择题链表面试题1.删除链表中等于给定值val的所有节点。2.反转一个单链表。3.给定一个带有头结点head的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。4.输入一个链表,输出该链表中倒数第k个结点。5.将两个有......
  • Redis篇-13--数据结构篇5--List内存模型(LinkedList,zipList,quicklist,Listpack,内存对齐,
    Redis的List(列表)数据类型是一个双向链表,允许从两端高效地插入和删除元素。为了提高性能和内存利用率,Redis对List进行了多种优化。特别是在Redis3.2版本中引入的quicklist结构,和Redis6.2版本中引入Listpack结构(替代之前的ziplist压缩列表),逐步提升List的性能。简单概括如下......
  • 【Java笔记】LinkedList 底层结构
    一、LinkedList的全面说明LinkedList底层实现了双向链表和双端队列特点可以添加任意元素(元素可以重复),包括null线程不安全,没有实现同步二、LinkedList的底层操作机制三、LinkedList的增删改查案例publicclassLinkedListCRUD{publicstaticvoidmain(String[]......
  • delphi写一个 LinkedList,泛型容器,方便从中间删除
    在Delphi中,创建一个泛型链表(LinkedList)容器需要定义节点类和链表管理类,并确保它们都是泛型的,以便可以存储任何类型的元素。以下是一个简单的泛型链表实现,它包括节点类TLinkedListNode<T>和链表管理类TLinkedList<T>。这个实现支持从中间删除元素。unitGeneric.LinkedList;......
  • Java笔记——集合3-ArrayList和LinkedList集合
    一、ArrayList集合ArrayList集合的方法大多都继承于List和Collection,但ArrayList集合有自己独特的底层原理:①用空参创建的集合,在底层创建的是一个默认长度为0的数组②添加第一个元素时,底层会创建一个新的长度为10的数组③集合存满时,会自动扩容1.5倍长度④如果一次性添加多......
  • 11.Java 集合(ArrayList、Vector、LinkedList、HashSet、LinkedHashSet、TreeSet、Hash
    一、集合概述1、数组的缺点长度开始时必须指定,且一旦指定,不能更改保存的元素必须为同类型对数组数组元素进行增删较为麻烦2、集合的好处可以动态保存多个任意类型提供了一系列方便操作对象的元素3、集合体系Collection接口:单列集合Map接口:双列集合二......
  • LinkedList
    JavaLinkedList​编辑 Java集合框架链表(Linkedlist)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的地址。链表可分为单向链表和双向链表。一个单向链表包含两个值:当前节点的值和一个指向下一个节点的链接。......
  • 【数据结构】LinkedList与链表
    LinkedList与链表1.ArrayList的缺陷2.链表2.1链表的概念及结构2.2链表的实现3.链表面试题【本节目标】ArrayList的缺陷链表链表相关ojLinkedList的模拟实现LinkedList的使用ArrayList和LinkedList的区别1.ArrayList的缺陷上节课已经熟悉了ArrayList的使用,......