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

广州荔湾做网站公司抖音seo优化软件

广州荔湾做网站公司,抖音seo优化软件,wordpress编辑作者投稿者英文,电站建设招聘网站目录 一、概述 二、基本的用法 1.入栈 2.出栈 Pop 方法 Peek 方法 3.判断元素是否存在 4.获取 Stack 的长度 5.遍历 Stack 6.清空容器 7.Stack 泛型类 三、结束 一、概述 栈表示对象的简单后进先出 (LIFO) 非泛型集合。 Stack 和 List 一样是一种储存容器&#x…

目录

一、概述

二、基本的用法

1.入栈

2.出栈

Pop 方法

Peek 方法

3.判断元素是否存在

4.获取 Stack 的长度

5.遍历 Stack

6.清空容器

7.Stack 泛型类

三、结束


一、概述

栈表示对象的简单后进先出 (LIFO) 非泛型集合。

Stack 和 List 一样是一种储存容器,它遵循先进后出的原则,能够存储任意类型,但并不能获取到指定的位置,只能存入和取出,取出元素后,Stack 内部的元素自动删除。

详细API参考:Stack 类 (System.Collections) | Microsoft Learn

二、基本的用法

1.入栈

入栈使用 push 方法,这里可以添加任意类型

using System;
using System.Collections;namespace Stack_Test
{internal class Program{static void Main(string[] args){Stack stack = new Stack();stack.Push("a");stack.Push("b");stack.Push(3);stack.Push(4.5);Console.ReadKey();}}
}

2.出栈

出栈常用的方法有两种,第一种:

Pop 方法

using System;
using System.Collections;namespace Stack_Test
{internal class Program{static void Main(string[] args){Stack stack = new Stack();stack.Push("a");stack.Push("b");stack.Push(3);stack.Push(4.5);var value = stack.Pop();Console.WriteLine(value);Console.WriteLine("count:" + stack.Count);Console.ReadKey();}}
}

运行

这里可以看到,最后添加的 4.5 ,被最先取出来,取出来的同时,也从 stack 中删除了,此时的长度为3, 这就是概述中描述的 先进后出 原则,听起来有点难以理解,其实就是,谁最后一个添加进来,谁就第一个出去,专逮住队伍的最后一个往出扯。

第二种:

Peek 方法

using System;
using System.Collections;namespace Stack_Test
{internal class Program{static void Main(string[] args){Stack stack = new Stack();stack.Push("a");stack.Push("b");stack.Push(3);stack.Push(4.5);var value = stack.Peek();Console.WriteLine(value);Console.WriteLine("count:" + stack.Count);Console.ReadKey();}}
}

运行

Peek 可以根据后进先出的原则取出一个元素,它并不会像 Pop 方法一样,把元素删除,但是也只能取一个元素,看下面代码,重复的获取是没用的,要想数据一个个取出来,还是得老老实实的用 Pop 方法。

using System;
using System.Collections;namespace Stack_Test
{internal class Program{static void Main(string[] args){Stack stack = new Stack();stack.Push("a");stack.Push("b");stack.Push(3);stack.Push(4.5);var value1 = stack.Peek();var value2 = stack.Peek();var value3 = stack.Peek();Console.WriteLine(value1);Console.WriteLine(value2);Console.WriteLine(value3);Console.ReadKey();}}
}

运行

3.判断元素是否存在

使用 Contains 方法可以判断元素是否存在,如下代码

using System;
using System.Collections;namespace Stack_Test
{internal class Program{static void Main(string[] args){Stack stack = new Stack();stack.Push("a");stack.Push("b");stack.Push(3);stack.Push(4.5);Console.WriteLine("是否存在:" + stack.Contains(4.5));Console.ReadKey();}}
}

运行

4.获取 Stack 的长度

长度的获取和 List 一样,使用 Count 属性

using System;
using System.Collections;namespace Stack_Test
{internal class Program{static void Main(string[] args){Stack stack = new Stack();stack.Push("a");stack.Push("b");stack.Push(3);stack.Push(4.5);Console.WriteLine("长度:" + stack.Count);Console.ReadKey();}}
}

运行

5.遍历 Stack

Stack 可以使用 foreach 遍历,并且不会移除元素

using System;
using System.Collections;namespace Stack_Test
{internal class Program{static void Main(string[] args){Stack stack = new Stack();stack.Push("a");stack.Push("b");stack.Push(3);stack.Push(4.5);foreach (var item in stack){Console.WriteLine(item);}Console.WriteLine("长度:" + stack.Count);Console.ReadKey();}}
}

 运行

6.清空容器

清除 stack 使用 Clear 方法

using System;
using System.Collections;namespace Stack_Test
{internal class Program{static void Main(string[] args){Stack stack = new Stack();stack.Push("a");stack.Push("b");stack.Push(3);stack.Push(4.5);stack.Clear();Console.WriteLine("长度:" + stack.Count);Console.ReadKey();}}
}

运行

7.Stack 泛型类

Stack 泛型类 和 Stack 的用法其实没有什么不同,Stack 泛型类 只是在使用时多了一个约束,不能和 Stack 标准形式一样,可以添加任意类型到栈中,而是使用固定的元素类型

using System;
using System.Collections.Generic;namespace Stack_Test
{internal class Program{static void Main(string[] args){Stack<string> stack = new Stack<string>();//将元素入栈stack.Push("a");stack.Push("b");stack.Push("c");//栈的元素个数int count = stack.Count;//是否包含指定的元素bool b = stack.Contains("a");//Stack.Peek() 方法返回顶部的对象而不将其从堆栈中移除string name = stack.Peek();// Pop 把元素出栈,栈中就没有这个元素了string s1 = stack.Pop();Console.WriteLine(s1);string s2 = stack.Pop();Console.WriteLine(s2);string s3 = stack.Pop();Console.WriteLine(s3);Console.ReadKey();}}
}

三、结束

最后,我们来看看 Stack 有那些特点:

先进后出,存在装箱拆箱,存储任意类型,无法使用 for 循环遍历查看元素,无法获取指定位置元素,只能查看获取栈顶元素。

end

http://www.hkea.cn/news/669866/

相关文章:

  • 可以做卷子的网站游戏app拉新平台
  • 长沙优化网站关键词社区营销
  • 个人网站制作价格表重庆关键词优化
  • 网站开发ideseo优化网站模板
  • 关于制作网站收费标准怎样把个人介绍放到百度
  • 网站建设 绵阳百度开放平台
  • discuz修改网站标题微信小程序开发平台
  • 怎么做国内网站吗seo顾问培训
  • 网站排名不稳定怎么办seo+网站排名
  • 做网站要淘宝热搜关键词排行榜
  • 做网站 创业 流程网络建站流程
  • 怎么做购物网站系统文本广州网络营销推广
  • 网站后台管理系统cms推广seo网站
  • 企业网站备案注销百度推广登陆平台
  • 重庆如何软件网站推广网站优化seo
  • 最专业的佛山网站建设价格3小时百度收录新站方法
  • wordpress门户建站html网页完整代码作业
  • 子域名 做单独的网站广州seo外包公司
  • 凡科建设网站的步骤永久免费无代码开发平台网站
  • 建设一个百度百科类网站网站排名优化的技巧
  • 自己做网站可以吗淄博做网站的公司
  • 个人做健康网站好吗宁波网站制作与推广价格
  • 长沙有哪些做网站的连云港seo优化公司
  • 青羊区定制网站建设报价搜索引擎营销方案
  • 淘宝优惠券查询网站怎么做域名备案官网
  • wordpress自定义url优化教程网下载
  • 模板网站和定制网站百度搜索引擎的网址
  • 企业建设网站公司哪家好app拉新推广接单平台
  • 老虎淘客系统可以做网站吗江西省水文监测中心
  • 高港区企业网站建设快速建站教程