C#中的队列Queue<T>与堆栈Stack<T>

 更新时间:2022年05月10日 08:40:44   作者:springsnow  
这篇文章介绍了C#中的队列Queue<T>与堆栈Stack<T>,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一、概述:

Queue<T>队列,对象的先进先出集合(“FIFO”)。Stack<T>栈,对象的后进先出集合(”LIFO”)。

Queue<T>、Stack<T>类似于List<T>,但 Queue<T>没有IList<T>,所以不能用索引访问队列。也没有实现ICollection<T>,无Add,Remove等方法。

二、操作

1、入队列:Enqueue()

Queue<string> nums = new Queue<string>();
nums.Enqueue("one");
nums.Enqueue("two");
nums.Enqueue("three");

2、入栈:Push()

Stack<string> nums = new Stack<string>();
nums.Push("one");
nums.Push("two");
nums.Push("three");

3、遍历:队列最先返回最先进的,栈最先返回最后进的元素。

foreach (var num in nums)//队列依次返回,one,two,three ;栈依次返回:three,two,one,
{
    Console.WriteLine(num);
}

4、出队列:Dequeue()返回最先进的元素。

Console.WriteLine(nums.Dequeue());//one

5、出栈:Pop()返回最后进的元素。

Console.WriteLine(nums.Pop());//three

6、返回开始处的元素:Peek()

Console.WriteLine(nums.Peek());//two

7、判断是否包含元素:Contains()

Console.WriteLine(nums.Contains("three"));

8、清空队列、栈:Clear()

nums.Clear();

9、队列、栈中元素个数:Count

Console.WriteLine(nums.Count);//0

10、复制到数组:CopyTo()、ToArray()

  • CopyTo():把元素从队列复制到一个已有的数组中。
  • ToArray():返回一个包含队列元素的新数组。
string[] arr=new string[3];
nums.CopyTo(arr,0);

arr= nums.ToArray();

三、示意图

image

image

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • C#不重复输出一个数组中所有元素的方法

    C#不重复输出一个数组中所有元素的方法

    这篇文章主要介绍了C#不重复输出一个数组中所有元素的方法,涉及C#针对数组的遍历、校验及排序等操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • C#通过经纬度计算2个点之间距离的实现代码

    C#通过经纬度计算2个点之间距离的实现代码

    这篇文章主要介绍了C#通过经纬度计算2个点之间距离实现代码,本文对实现原理、经纬度基本知识等一并做了讲解,需要的朋友可以参考下
    2014-08-08
  • c#中分割字符串的几种方法

    c#中分割字符串的几种方法

    c#中分割字符串的几种方法...
    2007-04-04
  • c#冒泡排序示例分享

    c#冒泡排序示例分享

    这篇文章主要介绍了c#冒泡排序示例分享,需要的朋友可以参考下
    2014-02-02
  • 基于C#实现简单的音乐播放器

    基于C#实现简单的音乐播放器

    这篇文章主要介绍了如何基于C#实现简单的音乐播放器,考虑到需求中的界面友好和跨版本兼容性,我们可以选择选择Windows Forms作为开发平台,Windows Forms提供了一个简单而强大的方法来创建桌面应用程序,文中通过代码示例给大家讲解的非常详细,需要的朋友可以参考下
    2024-05-05
  • C#如何利用反射将枚举绑定到下拉框详解

    C#如何利用反射将枚举绑定到下拉框详解

    这篇文章主要给大家介绍了关于C#如何利用反射将枚举绑定到下拉框的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧
    2018-07-07
  • c# chart缩放,局部放大问题

    c# chart缩放,局部放大问题

    这篇文章主要介绍了c# chart缩放,局部放大问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Unity shader实现遮罩效果

    Unity shader实现遮罩效果

    这篇文章主要为大家详细介绍了Unity shader实现遮罩效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • unity实现多点触控代码

    unity实现多点触控代码

    这篇文章主要介绍了unity实现多点触控代码,我最近在学习Unity游戏引擎。先从Unity平面开始,本章介绍Unity 平面上的多点触摸。有需要的小伙伴参考下。
    2015-03-03
  • C# 汉字与拼音互转的实现示例

    C# 汉字与拼音互转的实现示例

    本文主要介绍了C# 汉字与拼音互转的实现示例,文中根据实例编码详细介绍的十分详尽,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03

最新评论