当前位置: 首页 > news >正文

济南网页制作设计营销搜狗 优化网站

济南网页制作设计营销,搜狗 优化网站,兰州市城关区风险区,宁夏小蚁人网站建设目录 一、前言 二、栈是排列方式 三、栈的单词 四、程序中的栈 五、栈的方法 1.声明并初始化栈 2.往栈里放东西(学名:入栈) 3.从栈往外拿东西 (学名:出栈) 4.清空栈 5.遍历 Stack 6.获取Stack的长…

目录

一、前言

二、栈是排列方式

三、栈的单词

四、程序中的栈

五、栈的方法

1.声明并初始化栈

2.往栈里放东西(学名:入栈)

3.从栈往外拿东西 (学名:出栈)

4.清空栈

5.遍历 Stack

 6.获取Stack的长度

 7.看看某个元素在不在栈里

六、作者的碎碎念


一、前言

老规矩,我们从熟悉的知识点先入手。我们常用int(整数),float(小数),string(字符串)等,这些都是单个的内容,一个整数,一个小数,一个字符串。。。。。。

当我们需要用一堆的时候,就会出现int数组,float数组,string数组。。。。。。和int列表,float列表,string列表。。。。。。抛开单个的不谈,无论是数组还是列表,都有一个特点,你想要哪个就能拿到哪个,想要扔掉哪个,就可以扔掉哪个,就像排列在书架上的书,我可以随手抽一个走,也可以随便插一个进去。(如图1所示)

图1 一排书

二、栈是排列方式

栈在现实生活中是一种摆放方式。

但有时,我们并不希望随时可以抽取任何一本书,我们需要顺序。(如图2所示)

图2 网球桶

例如,我们现在拥有一个网球桶,我们往里面装网球,底部的A球是我们最先装的,但我们在拿球的时候只能把它上方的都拿掉,才能把最后一个拿出来,在图片这个例子中有一个好处,我们可以把上面的球都打坏了,或者弄丢了,我们才可以拿到下一个球,这样可以保证下面的球只要不用,就一直是新的。


还一个生活中的例子:

超市的零食只有把最外面的拿掉,才能拿到里面的(如图3所示)。

图3 超市零食

在这个图片案例中,这样摆放零食,最大程度上能保证零食的整齐。

这种排列方式最大的特点是:排队摆放,只能从最上方放进去,也只能从最上方拿出来。

三、栈的单词

 栈在程序里用的单词是Stack,Stack在英语中的翻译为:放成整齐的一叠

这个解释是不是和我们前面摆网球和零食很像了?是的!

四、程序中的栈

那到底为什么要弄这样一种摆放方式?在程序中到底有什么用?

我们举一个非常常见的例子,我们在关网页,或者关应用时,往往不能直接使用第二层,而是必须先把最上层关了,才能点下层。(如图4所示)

图4 一堆窗口

如果你也想拥有这样一堆窗口,从最上面挨个关闭它,你就可以使用栈。


游戏制作养了个羊时,也有这个机制。(如图5所示)

图5 养了个羊游戏

在这个游戏的两侧卡片中,你只能使用最上层的卡牌,被压着的都不能使用,这里也可以用栈来写。

五、栈的方法

经过以上讲解后,你可能发现,栈的功能也很少。

1.声明并初始化栈

Stack stack = new Stack();

2.往栈里放东西(学名:入栈)

 stack.Push()

这里放了两个字符串,两个数字

 Stack stack = new Stack();stack.Push("a");stack.Push("b");stack.Push(0);stack.Push(1);

3.从栈往外拿东西 (学名:出栈)

stack.Pop()

 Stack stack = new Stack();stack.Push("a");stack.Push("b");stack.Push(0);stack.Push(1);//因为1是最后放的,所以1在最上面
//从最上面把1拿走,顺便让obj = 1var obj = stack.Pop();
//接下来栈里只有三个东西了

4.清空栈

stack.Clear()

 Stack stack = new Stack();stack.Push("a");stack.Push("b");stack.Push(0);stack.Push(1);//把上面就都删了stack.Clear();

以上都是直接操作的方法,就是直接上手的方法

还有一些方法叫做,我看看,我不动


5.遍历 Stack

这里就像之前的网球,因为是透明的,我全部看一遍,但我没有拿走,也没有放进去。

 Stack stack = new Stack();stack.Push("a");stack.Push("b");stack.Push(0);stack.Push(1);foreach (var item in stack){//把每个都打印一遍Console.WriteLine(item);}

 6.获取Stack的长度

 Stack stack = new Stack();stack.Push("a");stack.Push("b");stack.Push(0);stack.Push(1);//打印长度
Console.WriteLine(stack.Count);

 7.看看某个元素在不在栈里

 Stack stack = new Stack();stack.Push("a");stack.Push("b");stack.Push(0);stack.Push(1);//打印里面有到底有没有a
Console.WriteLine(stack.Contains("a"));

六、作者的碎碎念

如果希望看见更多简单的讲解,给我个赞吧~

b站搜索菌菌巧乐兹,部分文章有视频讲解~ 

http://www.yayakq.cn/news/418432/

相关文章:

  • seo网站外包公司东莞网站设计百年
  • 网站设计公司域名服务器建设广州市 网站建设 有限公司
  • 设置本机外网ip做网站专业低价建设微网站微商城怎么样
  • 公司建网站的详细步骤云南微网站建设的公司有哪些
  • 临沂罗庄建设局网站卖域名的网站哪个好
  • 网站开发项目小组成员职责什么公司网站建设做的好
  • 网站名称是网址吗网站建设一般报价多少钱
  • 做网站的命题依据千库网素材免费下载
  • 淘宝网站是怎么做的做网站需要用到的语言
  • 广州市建设工程安全监督站网站全国免费发布信息网
  • 北京网站设计与制作公司福田做棋牌网站建设找哪家公司好
  • 网站怎么自己做优化免费ppt模板可爱
  • 卖一手房做哪个网站好公关公司属于什么行业
  • 局门户网站建设工作汇报做个网站费用多少合适
  • 小城市企业网站建设网站 缓存什么时候使用
  • 江阴安泰物流有限公司网站谁做的网站的策划与建设阶段
  • 网站空间权限渭南网站建设电话
  • 拉米拉云网站建设wordpress linux伪静态
  • 上海专业做网站价格python云服务器网站开发实例
  • 建设网站 翻译自己搭建局域网云桌面终端
  • vs做网站怎样添加图片wordpress应用中心
  • 网上商城网站建设公司网页主要由三部分组成
  • 网站开发 印花税wordpress怎么分段
  • 东莞网站建设php方案开发微信小程序需要什么软件
  • wordpress打开最快的网站电商培训需要什么资质
  • 杭州哪家做企业网站容易被收录的网站
  • 专业做淘宝开店的网站wordpress 优势
  • 网站开发的理解seo是网络优化吗
  • 南华大学城市建设学院网站阿里快速建站
  • 手机网站制作木制家具东莞网站建设