亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

带有推送和弹出示例的 C# 堆栈

什么是 C# 中的堆栈?

堆栈是一个特例集合,它代表了后进先出 (LIFO) 的概念。为了首先了解 LIFO,让我们举个例子。想象一摞书,每本书都叠放在一起。

在书籍的情况下,后进先出的概念意味着只有最上面的书才能从书堆中取出。不能从中间移除一本书,因为那样会干扰堆栈的设置。

因此,在 C# 中,堆栈也以相同的方式工作。元素被添加到堆栈中,一个在彼此的顶部。将元素添加到堆栈的过程称为推送操作。要从堆栈中删除元素,您还可以删除堆栈的最顶部元素。此操作称为 pop。

让我们更详细地看一下 Stack 集合可用的操作。

堆栈声明

堆栈是在堆栈数据类型的帮助下创建的。关键字“new”用于创建 Stack 的对象。然后将该对象分配给变量 st。

Stack st = new Stack()

向栈中添加元素

push 方法用于将元素添加到堆栈中。该语句的一般语法如下所示。

Stack.push(element)

从堆栈中移除元素

pop 方法用于从堆栈中删除一个元素。 pop 操作将返回堆栈的最顶部元素。该语句的一般语法如下所示

 Stack.pop()

计数

此属性用于获取 Stack 中的项目数。以下是该语句的一般语法。

Stack.Count

包含

此方法用于查看堆栈中是否存在元素。以下是该语句的一般语法。如果元素存在,该语句将返回 true,否则将返回值 false。

Stack.Contains(element)

现在让我们看看这在代码级别上是如何工作的。下面提到的所有代码都将写入我们的控制台应用程序。代码将写入我们的 Program.cs 文件中。

在下面的程序中,我们将编写代码来看看我们如何使用上述方法。

示例 1:Stack.Push() 方法

在这个例子中,我们将看到

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args)
  {
   Stack st = new Stack();
   st.Push(1);
   st.Push(2);
   st.Push(3);

   foreach (Object obj in st)
   {
    Console.WriteLine(obj);
   }
    Console.WriteLine(); Console.WriteLine();
    Console.WriteLine("The number of elements in the stack " +st.Count);
    Console.WriteLine("Does the stack contain the elements 3 "+st.Contains(3));
    Console.ReadKey();
  }
 }
}

代码说明:-

  1. 第一步用于声明堆栈。在这里,我们将“st”声明为一个变量来保存堆栈中的元素。
  2. 接下来,我们将 3 个元素添加到堆栈中。每个元素都是通过 Push 方法添加的。
  3. 现在由于堆栈元素不能像数组列表那样通过索引位置访问,我们需要使用不同的方法来显示堆栈的元素。 Object (obj) 是一个临时变量,它被声明用于保存堆栈的每个元素。然后我们使用 foreach 语句遍历堆栈的每个元素。对于每个堆栈元素,将值分配给 obj 变量。然后我们使用 Console.Writeline 命令将值显示到控制台。
  4. 我们正在使用 Count 属性 (st.count ) 以获取堆栈中的项目数。该属性将返回一个数字。然后我们将这个值显示到控制台。
  5. 然后我们使用 Contains 方法查看 3 的值是否存在于我们的堆栈中。这将返回一个真值或假值。然后我们将这个返回值显示到控制台。

如果上面的代码输入正确,程序运行起来会显示如下输出。

输出:

从输出中,我们可以看到堆栈的元素被显示出来了。另外,显示 True 的值表示堆栈上定义了 3 的值。

注意 :你已经注意到最后压入堆栈的元素首先显示。这是堆栈的最顶部元素。堆栈元素的计数也显示在输出中。

示例 2:Stack.Pop() 方法

现在让我们看看“删除”功能。我们将看到从堆栈中移除最顶层元素所需的代码。

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args)
  {
   Stack st = new Stack();
   st.Push(1);
   st.Push(2);
   st.Push(3);
   
   st.Pop();

   foreach (Object obj in st)
   {
    Console.WriteLine(obj);
   }
    Console.ReadKey();
  }
 }
}

代码说明:-

  1. 这里我们只是发出 pop 方法,用于从堆栈中删除一个元素。

如果上述代码输入正确并运行程序,会显示如下输出。

输出:

我们可以看到元素 3 被从栈中移除了。

总结


C语言

  1. C# 表达式、语句和块(附示例)
  2. C++ do...while 循环与示例
  3. 带有示例的 C++ 指针
  4. C++ Char 数据类型及示例
  5. 带有示例的 C++ 运算符重载
  6. 带有程序示例的 C++ 函数
  7. C# 集合教程与示例
  8. 带有示例的 Python 字符串计数()
  9. 带有示例的 Python round() 函数
  10. 带有示例的 Python map() 函数
  11. Python Timeit() 与示例
  12. 带有示例的 Python 列表计数()