C#集合之栈的用法
栈(Stack)和队列是非常类似的一个容器,只是栈是一个后进先出(LIFO)的容器。
栈用Push()方法在栈中添加元素,用Pop()方法获取最近添加的一个元素:
Stack<T>与Queue<T>类(https://www.jb51.net/article/244090.htm)类似,实现了ICollection和IEnumerable<T>接口。
Stack<T>类的成员:
在foreach语句中,栈的枚举器不会删除元素,它只会逐个返回元素。使用Pop()方法会从栈中读取每个元素,然后删除它们。
static void Main() { var alphabet = new Stack<char>(); alphabet.Push('A'); alphabet.Push('B'); alphabet.Push('C'); Console.Write("First iteration: "); foreach (char item in alphabet) { Console.Write(item); } Console.WriteLine(); Console.Write("Second iteration: "); while (alphabet.Count > 0) { Console.Write(alphabet.Pop()); } Console.WriteLine(); }
第二次迭代后,栈变空。
到此这篇关于C#集合之栈的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
C#集合之队列的用法
队列是其元素按照先进先出(FIFO)的方式来处理的集合.队列使用System.Collections.Generic名称空间中的泛型类Queue<T>实现.在内部,Queue<T>类使用T类型的数组,这类似List<T>(https://www.jb51.net/article/244084.htm)类型.队列实现ICollection和IEnumerable<T>接口,但没有实现ICollection<T>接口,所以ICollection<
-
C#集合之列表的用法
目录 1.创建列表 2.添加元素 3.插入元素 4.访问元素 5.删除元素 6.搜索 7.排序 8.类型转换 9.只读集合 .NET Framework为动态列表List提供泛型类List<T>.这个类实现了IList,ICollection,IEnumerable,IList<T>,ICollection<T>,IEnumerable<T>接口. 1.创建列表 创建一个赛车手类,下面的例子会用到: public class Racer : ICompara
-
C#集合之栈的用法
栈(Stack)和队列是非常类似的一个容器,只是栈是一个后进先出(LIFO)的容器.栈用Push()方法在栈中添加元素,用Pop()方法获取最近添加的一个元素: Stack<T>与Queue<T>类(https://www.jb51.net/article/244090.htm)类似,实现了ICollection和IEnumerable<T>接口.Stack<T>类的成员: 在foreach语句中,栈的枚举器不会删除元素,它只会逐个返回元素.使用Pop()方
-
java集合中list的用法代码示例
List接口是Collection接口的子接口,List有一个重要的实现类--ArrayList类,List中的元素是有序排列的而且可重复,所以被称为是序列. List可以精确的控制每个元素的插入位置,或删除某个位置元素,它的实现类ArrayList底层是由数组实现的. List中有增删改查的方法,我们可以通过例子演示: 我们通过对学生选课,来演示List中对课程增删改查的方法 /** * 课程类 * @author lenovo * */ public class KeCheng { publ
-
Python字典生成式、集合生成式、生成器用法实例分析
本文实例讲述了Python字典生成式.集合生成式.生成器用法.分享给大家供大家参考,具体如下: 字典生成式: 跟列表生成式一样,字典生成式用来快速生成字典,不同的是,字典需要两个值 #d = {key: value for (key, value) in iterable} d1 = {'x': 1, 'y': 2, 'z': 3} d2 = {k: v for (k, v) in d1.items()} print(d2) 集合生成式: 集合生成式格式和列表生成式类似,不过用的是大括号: s1
-
JavaScript数据结构之栈实例用法
栈 先来看一道题 Leetcode 32 Longest Valid Parentheses (最长有效括号) 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度. 示例 1: 输入: "(()" 输出: 2 解释: 最长有效括号子串为 "()" 示例 2: 输入: ")()())" 输出: 4 解释: 最长有效括号子串为 "()()" 这道题可以用动态规划来做,也能用简洁明了的栈来解决. 什么是
-
C#集合之字典的用法
字典表示一种复杂的数据结构,这种数据结构允许按照某个键来访问元素.字典也称为映射或散列表.字典的主要特性是能根据键快速查找值.也可以自由添加和删除元素,这有点像List<T>(https://www.jb51.net/article/244084.htm),但没有在内存中移动后续元素的性能开销.下图是一个简化表示,键会转换位一个散列.利用散列创建一个数字,它将索引和值关联起来.然后索引包含一个到值的链接.一个索引项可以关联多个值,索引可以存储为一个树型结构. .NET Framework提供了
-
C#集合之链表的用法
LinkedList<T>是一个双向链表,其元素会指向它前面和后面的元素.这样,通过移动到下一个元素可以正向遍历链表,通过移动到前一个元素可以反向遍历链表. 链表在存储元素时,不仅要存储元素的值,还必须存储每个元素的下一个元素和上一个元素的信息.这就是LinkedList<T>包含LinkedListNode<T>类型的元素的原因.使用LinkedListNode<T>,可以获得列表中的下一个和上一个元素.LinkedListNode<T>定义了
-
ASP.NET中实现把form表单元素转为实体对象或集合
简介: 做WEBFROM开发的同学都知道后台接收参数非常麻烦 虽然MVC中可以将表单直接转为集实,但不支持表单转为 LIST<T>这种集合 单个对象的用法: 表单: 复制代码 代码如下: <input name='id' value='1' > <input name='sex' value='男' > 后台: 复制代码 代码如下: //以前写法 DLC_category d = new DLC_category();
-
C#数据结构与算法揭秘五 栈和队列
这节我们讨论了两种好玩的数据结构,栈和队列. 老样子,什么是栈, 所谓的栈是栈(Stack)是操作限定在表的尾端进行的线性表.表尾由于要进行插入.删除等操作,所以,它具有特殊的含义,把表尾称为栈顶(Top) ,另一端是固定的,叫栈底(Bottom) .当栈中没有数据元素时叫空栈(Empty Stack).这个类似于送饭的饭盒子,上层放的是红烧肉,中层放的水煮鱼,下层放的鸡腿.你要把这些菜取出来,这就引出来了栈的特点先进后出(First in last out). 具体叙述,加下图. 栈通常记
随机推荐
- Oracle常见错误诊断
- Javascript 遮罩层和加载效果代码
- React服务端渲染(总结)
- Laravel模板引擎Blade中section的一些标签的区别介绍
- php.ini中文版
- PHP关键特性之命名空间实例详解
- js判断是否是手机页面
- C++中单链表的建立与基本操作
- mysql 字符集的系统变量说明
- Android多线程处理机制中的Handler使用介绍
- jquery实现图片上传前本地预览功能
- js实现添加可信站点、修改activex安全设置,禁用弹出窗口阻止程序
- jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法
- 总结的5个C#字符串操作方法分享
- 对PHP新手的一些建议(PHP学习经验总结)
- 微信小程序 canvas API详解及实例代码
- 随时给自己贴的图片加文字的php代码
- 用PHP制作静态网站的模板框架(四)
- [推荐]易网科技为您提供免费自助式管理空间
- Python中对象的引用与复制代码示例