打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
C#集合之Stack

1、Stack定义

System.Collections.Stack类表示对象的简单的后进先出非泛型集合。

2.优点

1、后进先出的集合。

2、Stack 能接受空引用作为有效值并且允许重复的元素

3. Stack的构造器

构造器函数

注释

Stack ()

初始化 Stack 类的新实例,该实例为空并且具有默认初始容量。

 Stack (ICollection)

初始化 Stack 类的新实例,该实例包含从指定集合复制的元素并且具有与所复制的元素数相同的初始容量。

 Stack (Int32)

初始化 Stack 类的新实例,该实例为空并且具有指定的初始容量或默认初始容量(这两个容量中的较大者)。

4、Stack的属性

属性名

注释

Count

获取 Stack 中包含的元素数。

5. Stack的方法

方法名

注释

Void Clear()

Stack 中移除所有对象。

Bool Contains(object obj)

确定某元素是否在 Stack 中。

Object Clone()

创建 Stack 的浅表副本。

Void CopyTo(Array array,int index)

从指定数组索引开始将 Stack 复制到现有一维 Array 中。

Object Pop()

移除并返回位于 Stack 顶部的对象。

Void Push(object obj)

将对象插入 Stack 的顶部。

Object Peek()

返回位于 Stack 顶部的对象但不将其移除。

Object[]ToArray()

将 Stack 复制到新数组中。

 

6、Stack的使用示例

 

class Program
{
public static void Main()
{

//创建一个堆栈
Stack myStack = new Stack();
myStack.Push("The");//入栈
myStack.Push("quick");
myStack.Push("brown");
myStack.Push("fox");


// 打印集合中的值
Console.Write("Stack values:");
PrintValues(myStack, '\t');

// 打印堆栈顶部的第一个元素,并将其移除
Console.WriteLine("(Pop)\t\t{0}", myStack.Pop());

//打印集合中的值
Console.Write("Stack values:");
PrintValues(myStack, '\t');

// 打印堆栈顶部的第一个元素,并将其移除
Console.WriteLine("(Pop)\t\t{0}", myStack.Pop());

//打印集合中的值
Console.Write("Stack values:");
PrintValues(myStack, '\t');

// 打印堆栈顶部的第一个元素
Console.WriteLine("(Peek)\t\t{0}", myStack.Peek());

// 打印集合中的值
Console.Write("Stack values:");
PrintValues(myStack, '\t');
Console.Read();
}


public static void PrintValues(IEnumerable myCollection, char mySeparator)
{
foreach (Object obj in myCollection)
Console.Write("{0}{1}", mySeparator, obj);
Console.WriteLine();
}

}

 

 

7.备注

1、Stack 的容量是 Stack 可以保存的元素数。Stack 的默认初始容量为 10。向 Stack 添加元素时,将通过重新分配来根据需要自动增大容量。

2、容量是 Stack 可存储的元素数。Count 是 Stack 中实际存储的元素数,容量始终大于或等于 Count。如果在添加元素时 Count 超过容量,则通过在复制旧元素和添加新元素之前重新分配内部数组来自动增大容量

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
c# 集合 队列 属性 方法
堆栈和委托堆的区别(c#)一
考察数据结构——第二部分:队列、堆栈和哈希表[译]
栈_JAVA实现
C#概述
C# 值类型与引用类型 (上)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服