zoukankan      html  css  js  c++  java
  • 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()}");
    //Peek获取数据但是不移除数据
    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()}");//获取不移除

      

  • 相关阅读:
    LINUX的LAMP环境搭配
    Jquery添加元素append及阻止表单提交submit
    django上传文件
    Html5本地存储LocalStorage
    Html5离线缓存详细讲解
    html5的canvas绘制迷宫地图
    EXT.NET复杂布局(二)——报表
    Silverlight——施工计划日报表(一)
    Silverlight——施工计划日报表(二)
    前端学HTTP之网络基础
  • 原文地址:https://www.cnblogs.com/ahao214/p/12663664.html
Copyright © 2011-2022 走看看