加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

C#初学者教程系列16:堆栈Stack

发布时间:2022-12-12 19:01:42 所属栏目:大数据 来源:网络
导读: 本文是C#初学者简单教程,这是第16篇。感谢观看,记得关注我,后续还有更多教程文章,谢谢。
本文环境为Visual Studio 2019。
我们常常忙于开发,而忘记了有队列、堆栈、集合等这回事。

本文是C#初学者简单教程,这是第16篇。感谢观看,记得关注我,后续还有更多教程文章,谢谢。

本文环境为Visual Studio 2019。

我们常常忙于开发,而忘记了有队列、堆栈、集合等这回事。

是的,数据结构当我们在用C#做开发时,时常我们不去关心,为啥?那是因为类库已经给你设计好了,只要学它的api,会用就行。这就是我们习以为常后,反而不知道堆栈的存在的原因。就像神国用操作系统,允许您倒(故意错字)版使用,这样你就不会自己去研究操作系统,慢慢的可以磨灭你们的生机,永久依赖于它的操作系统。

一、类比

在C#中的队列,对应的是Queue这个类,集合对应的是就较多了,比如List。

链表对应啥呢?没错,LinkedList就是。

那么堆栈对应啥呢?嗯,是的,在C#中对应Stack类。

二、堆栈的定义

堆栈(Stack)代表了一个后进先出的对象集合。当您需要对各项进行后进先出的访问时,则使用堆栈。当您在列表中添加一项,称为推入元素,也叫压栈,当您从列表中移除一项时,称为弹出元素,也叫出栈。

三、C#中的堆栈类

36大数据 36大数据_函数的调用会把数据放入堆栈吗_大数据堆栈

上图是C#中的堆栈类定义。

我们可以看到它允许迭代(IEnumerable)大数据堆栈,是集合(ICollection)。

四、堆栈类的api用法

1.从 Stack 中移除所有的元素。使用:public void Clear();

2.判断某个元素是否在 Stack 中。使用:public bool Contains(T item);

3.返回在 Stack 的顶部的对象,但不移除它。使用:public T Peek();

4.移除并返回在 Stack 的顶部的对象。使用:public T Pop();

5.向 Stack 的顶部添加一个对象。使用:public void Push(T item);

6.复制 Stack 到一个新的数组中。使用:public T[] ToArray();

五、堆栈可以用在哪里?

确实,我们平时好像都很少用它,那它能用在什么地方呢?

?

场景1:如上图,一个非常典型的应用是手机的页面操作,那是一个堆栈使用非常妙的地方。

我们在手机上点开App去看内容时,可以不断的点啊点,点了好多,需要用返回键返回到一个页面,这里就是出栈,这就是很好的堆栈使用场景。

场景2:堆仓库,可能放货的时候,受限于条件限制,先入仓的货,有可能会先出货。但这不是一个必然发生的例子。

场景3:比如拍照的时候,如果我们要连拍,此时有某一张拍的不好,要马上删除,那么删除掉的一般都是最上面那张,这也是堆栈的一个场景。

祝您用餐愉快。

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!