C#中的LinkedList/Queue/Stack

1、LinkedList

//linkedlist:范型的特点;链表,元素不连续分配
//找元素要遍历 查找不方便
//增删 比较方便
//节点数值可以重复
WriteLine("******LinkedList<T>******");
LinkedList<int> linkedlist = new LinkedList<int>();
linkedlist.AddFirst(123);
linkedlist.AddLast(234);

bool iscontain = linkedlist.Contains(123);
LinkedListNode<int> node123 = linkedlist.Find(123);
linkedlist.AddBefore(node123, 1);
linkedlist.AddAfter(node123, 9);

linkedlist.Remove(234);
linkedlist.Remove(node123);
linkedlist.RemoveFirst();
linkedlist.RemoveLast();
linkedlist.Clear();

2、Queue

//Queue 就是链表 先进先出 A不断写入日志任务 B不断获取任务去执行
WriteLine("******Queue<T>******");

Queue<string> numbers = new Queue<string>();

numbers.Enqueue("one");
numbers.Enqueue("two");
numbers.Enqueue("two");
numbers.Enqueue("four");


foreach (var item in numbers)
{
WriteLine(item);
}

//获得数据并移除数据
WriteLine($"dequeuing:{numbers.Dequeue()}");
//获取数据不移除数据
WriteLine($"Peek at next :{numbers.Peek()}");

3、Stack

//Stack 也是链表 是栈 先进后出  放任务延迟执行 
WriteLine("******Stack<T>******");
Stack<string> numbers = new Stack<string>();
numbers.Push("one");
numbers.Push("two");
numbers.Push("three");

foreach (var item in numbers)
{
    WriteLine(item);
}

//获取并移除
WriteLine($"pop:{numbers.Pop()}"); 
//获取不移除
WriteLine($"peek at next time to dequeus:{numbers.Peek()}");

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值