中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

新建網(wǎng)站外鏈怎么做每日一則新聞?wù)?/h1>

新建網(wǎng)站外鏈怎么做,每日一則新聞?wù)?如何建設(shè)好幼兒園網(wǎng)站,在線圖片編輯器官網(wǎng)目錄 一、概述 二、基本的用法 1.入棧 2.出棧 Pop 方法 Peek 方法 3.判斷元素是否存在 4.獲取 Stack 的長(zhǎng)度 5.遍歷 Stack 6.清空容器 7.Stack 泛型類(lèi) 三、結(jié)束 一、概述 棧表示對(duì)象的簡(jiǎn)單后進(jìn)先出 (LIFO) 非泛型集合。 Stack 和 List 一樣是一種儲(chǔ)存容器&#x…

目錄

一、概述

二、基本的用法

1.入棧

2.出棧

Pop 方法

Peek 方法

3.判斷元素是否存在

4.獲取 Stack 的長(zhǎng)度

5.遍歷 Stack

6.清空容器

7.Stack 泛型類(lèi)

三、結(jié)束


一、概述

棧表示對(duì)象的簡(jiǎn)單后進(jìn)先出 (LIFO) 非泛型集合。

Stack 和 List 一樣是一種儲(chǔ)存容器,它遵循先進(jìn)后出的原則,能夠存儲(chǔ)任意類(lèi)型,但并不能獲取到指定的位置,只能存入和取出,取出元素后,Stack 內(nèi)部的元素自動(dòng)刪除。

詳細(xì)API參考:Stack 類(lèi) (System.Collections) | Microsoft Learn

二、基本的用法

1.入棧

入棧使用 push 方法,這里可以添加任意類(lèi)型

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();}}
}

運(yùn)行

這里可以看到,最后添加的 4.5 ,被最先取出來(lái),取出來(lái)的同時(shí),也從 stack 中刪除了,此時(shí)的長(zhǎng)度為3,?這就是概述中描述的?先進(jìn)后出 原則,聽(tīng)起來(lái)有點(diǎn)難以理解,其實(shí)就是,誰(shuí)最后一個(gè)添加進(jìn)來(lái),誰(shuí)就第一個(gè)出去,專逮住隊(duì)伍的最后一個(gè)往出扯。

第二種:

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();}}
}

運(yùn)行

Peek 可以根據(jù)后進(jìn)先出的原則取出一個(gè)元素,它并不會(huì)像 Pop 方法一樣,把元素刪除,但是也只能取一個(gè)元素,看下面代碼,重復(fù)的獲取是沒(méi)用的,要想數(shù)據(jù)一個(gè)個(gè)取出來(lái),還是得老老實(shí)實(shí)的用 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();}}
}

運(yùn)行

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();}}
}

運(yùn)行

4.獲取 Stack 的長(zhǎng)度

長(zhǎng)度的獲取和 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("長(zhǎng)度:" + stack.Count);Console.ReadKey();}}
}

運(yùn)行

5.遍歷 Stack

Stack 可以使用 foreach 遍歷,并且不會(huì)移除元素

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("長(zhǎng)度:" + stack.Count);Console.ReadKey();}}
}

?運(yùn)行

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("長(zhǎng)度:" + stack.Count);Console.ReadKey();}}
}

運(yùn)行

7.Stack 泛型類(lèi)

Stack 泛型類(lèi) 和 Stack 的用法其實(shí)沒(méi)有什么不同,Stack 泛型類(lèi) 只是在使用時(shí)多了一個(gè)約束,不能和 Stack 標(biāo)準(zhǔn)形式一樣,可以添加任意類(lèi)型到棧中,而是使用固定的元素類(lèi)型

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");//棧的元素個(gè)數(shù)int count = stack.Count;//是否包含指定的元素bool b = stack.Contains("a");//Stack.Peek() 方法返回頂部的對(duì)象而不將其從堆棧中移除string name = stack.Peek();// Pop 把元素出棧,棧中就沒(méi)有這個(gè)元素了string s1 = stack.Pop();Console.WriteLine(s1);string s2 = stack.Pop();Console.WriteLine(s2);string s3 = stack.Pop();Console.WriteLine(s3);Console.ReadKey();}}
}

三、結(jié)束

最后,我們來(lái)看看 Stack 有那些特點(diǎn):

先進(jìn)后出,存在裝箱拆箱,存儲(chǔ)任意類(lèi)型,無(wú)法使用 for 循環(huán)遍歷查看元素,無(wú)法獲取指定位置元素,只能查看獲取棧頂元素。

end

http://www.risenshineclean.com/news/27505.html

相關(guān)文章:

  • 怎么做網(wǎng)站的思維導(dǎo)圖廚師培訓(xùn)機(jī)構(gòu)
  • 怎做不下網(wǎng)站刷槍俄羅斯搜索引擎yandex推廣
  • 網(wǎng)站備案密碼十大跨境電商erp排名
  • 做企業(yè)網(wǎng)站設(shè)百度網(wǎng)盤(pán)官方下載
  • 網(wǎng)站域名到期如何續(xù)費(fèi)合肥網(wǎng)站優(yōu)化方案
  • 怎么把網(wǎng)站上傳到域名seo全網(wǎng)圖文推廣
  • 太原便宜做網(wǎng)站的公司開(kāi)封網(wǎng)站推廣
  • 網(wǎng)站建設(shè)效果評(píng)估企業(yè)網(wǎng)站seo點(diǎn)擊軟件
  • 如何請(qǐng)人創(chuàng)建一個(gè)網(wǎng)站bt磁力搜索器
  • 臨沂網(wǎng)站建設(shè)培訓(xùn)學(xué)校站長(zhǎng)之家ip查詢
  • 專業(yè)做高品質(zhì)的代工網(wǎng)站東莞網(wǎng)站推廣哪里找
  • 玉田網(wǎng)站制作深圳百度快速排名優(yōu)化
  • wordpress播放視頻播放晉城seo
  • seo整站優(yōu)化價(jià)格seo搜索優(yōu)化專員招聘
  • 宣傳部總結(jié)網(wǎng)站建設(shè)網(wǎng)絡(luò)銷(xiāo)售靠譜嗎
  • 公司網(wǎng)站備案條件推廣計(jì)劃怎么做
  • 大昌建設(shè)集團(tuán)有限公司網(wǎng)站sem網(wǎng)絡(luò)推廣是什么
  • 滕州市 網(wǎng)站建設(shè)公司廣州30萬(wàn)人感染
  • 石家莊搜索排名提升杭州seo整站優(yōu)化
  • 網(wǎng)站怎么編輯石家莊關(guān)鍵詞快速排名
  • 網(wǎng)站使用什么數(shù)據(jù)庫(kù)競(jìng)價(jià)推廣哪里開(kāi)戶
  • html個(gè)人網(wǎng)頁(yè)代碼模板太原百度快速優(yōu)化
  • 園區(qū)做網(wǎng)站國(guó)外免費(fèi)建站網(wǎng)站
  • 3d效果圖軟件seo的基礎(chǔ)是什么
  • 杭州哪家做企業(yè)網(wǎng)站網(wǎng)絡(luò)廣告
  • 南通公司建站模板百度號(hào)碼認(rèn)證申訴平臺(tái)
  • 外貿(mào)網(wǎng)站建設(shè)價(jià)格應(yīng)用商店aso優(yōu)化
  • 市委辦公廳網(wǎng)站 做合格黨辦人推廣策劃方案模板
  • 深圳政府在線網(wǎng)站石家莊網(wǎng)絡(luò)seo推廣
  • 群暉套件wordpressseo優(yōu)化教程視頻