C#集合之栈

  栈(Stack)和队列是非常类似的一个容器,只是栈是一个后进先出(LIFO)的容器。
  栈用Push()方法在栈中添加元素,用Pop()方法获取最近添加的一个元素:
       
  Stack<T>与Queue<T>类(http://www.cnblogs.com/afei-24/p/6829817.html)类似,实现了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();

        }

第二次迭代后,栈变空。

时间: 2024-10-08 19:15:35

C#集合之栈的相关文章

1821 最优集合(单调栈+模拟)

1821 最优集合 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 一个集合S的优美值定义为:最大的x,满足对于任意i∈[1,x],都存在一个S的子集S',使得S'中元素之和为i. 给定n个集合,对于每一次询问,指定一个集合S1和一个集合S2,以及一个数k,要求选择一个S2的子集S3(|S3|<=k),使得S1∪S3的优美值最大. (集合元素可以重复) Input 第一行一个数n,(n<=1000) 接下来n行,每行描述一个集合: 第一个数m,表示集合大小,

java 集合 Connection 栈 队列 及一些常用

800x600 Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priori

哈希表,队列集合,栈集合,自定义函数

1  1)哈希表 定义:(不规定长度,不规定类型,不规定键的类型) Hashtable  ht=new hashtable(); (点击小灯泡用using system.collection) 2)赋值: (1): ht['a']=1; ht[0]="b"; ht["b"]='c'; (2) : ht.Add(1,d);               :相当于ht[1]=d 哈希表遍历 : 1)        foreach(var x in ht.keys ) {

集合框架学习笔记

集合框架由来 Java2之前,Java是没有完整的集合框架的.它只有一些简单的可以自扩容的容器类,比如 Vector,Stack,Hashtable等 为什么存在容器(可以存储多个数据) 数组的弊端: 1,长度是不可变的,一旦数组初始化之后,长度是固定的 2,在N个地方需要存储多个数据,都得专门写数组的操作方法,代码和功能重复 3,数组定义方法参差不齐集合框架:是为表示和操作集合而规定的一种统一的标准的体系结构.任何集合框架都包含三大块内容:对外的接口,接口的实现和对集合运算的算法为什么需要集合

Java集合框架(二)day_16

16.集合框架(去除ArrayList中重复字符串元素方式)(掌握) public class Demo1_ArrayList { /** * * A:案例演示 * 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同) * 思路:创建新集合方式 */ public static void main(String[] args) { ArrayList list = new ArrayList(); list.add("a"); list.add("a"

基础算法(一)——栈

栈(stack)是简单的数据结构,但在计算机中使用广泛.它是有序的元素集合.栈最显著的特征是LIFO (Last In, First Out, 后进先出). 通常对栈的操作分为:进栈(push),出栈(pop). 在对栈的处理中,需要有一个栈顶指针(top),如图1-1所示. (图1-1) 几个对于栈的重要的操作(伪代码)(对于待处理数据x的处理过程) [一般初始化] //pascal Stack:array[1..10000]of longint; Top:longint; [进栈操作] a[

ArrayList集合&amp;特殊集合

一.ArrayList集合 集合内可以放不同类型的元素 另:object类型为所有数据类型的基类 添加元素:.add(); 清空集合:al.clear(); 克隆集合:.clone(); 判断是否包含某个元素:.contains(); 获取第一次出现该元素的索引号:.indexof(); 获取最后一次出现该元素的索引号:lastindexof(); 移除第一个匹配元素:.Remove(); 移除某个索引位置上的元素:.RemoveAt(); 排序 升序:.sort(); 翻转集合:.Revers

JavaEE基础(十六)/集合

1.集合框架(去除ArrayList中重复字符串元素方式) A:案例演示 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同) 思路:创建新集合方式 /** * A:案例演示 * 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同) * 思路:创建新集合方式 */ public static void main(String[] args) { ArrayList list = new ArrayList(); list.add("a"); list.a

2016年10月16日--ArrayList集合、特殊集合

ArrayList集合 使用前引用 using System.Collections; ArrayList集合 实例化.初始化 ArrayList al = new ArrayList(); ArrayList与Array的名字很相似. 相同点: (1)两者都实现了IList.ICollection.IEnumerable接口: (2)两者都可以使用整数索引访问集合中的元素,包括读取和赋值,且集合中的索引都从0开始. 不同点: (1)ArrayList是集合,而Array是数组: (2)Arra