C#進階(2)stack(棧)

前言

我們前面介紹了ArrayList,今天就介紹另一種數據結構——棧。

這是棧的基本形式,博主簡單畫了一下,你看個意思就行,很明顯,這種數據有一種特征:先進后出。因為先進來的數據會在下面,下面是密閉的,所以只能取后面進來的。

C#為我們封好了這種數據結構,我們不用擔心如何具體實現它,相對c和c++來說會更好上手一些,如果你要對棧了解得更加深入,我建議你可以去學一下這類基石語言,然后了解一下數據結構的構成。

我這里也不廢話,我們直接進入正題。

本質

  1. object數組(啥都可以存)
  2. 先進后出的數據結構

聲明

Stack stack =new Stack();//同樣需要引用System.Collections

 增刪查改

  1. 增(壓棧)
    Stack.Push();//增加只能一個一個的來
    
  2. 刪(取;彈棧)
    棧不支持從中間刪除,因為棧是無法查看指定位置元素的,只能查看棧頂內容,這樣設計其實是為了讓這種數據結構本身不具有復雜的數據屬性,保證了簡潔和高效,同時也確保了棧結構的純粹性和不可變性。所以他的本質看上去更像從棧頂取出一個數據,而不是刪除。
    stack.Pop();//刪,取也只能一個一個來

  3. a.無法查看指定位置元素,只能看棧頂內容;
    b.可以查看元素是否存在棧中,和ArrayList很像。
    stack.Peek();//查看棧頂
    stack.Contains();//檢查是否有該元素

  4. 只能使用清空
    stack.clea();

同樣的,博主還是給你可以直接使用的代碼,不過還是那句話,我希望你能自己去寫,自己去f12進去看,自己去體會這個東西,這樣才能真正把東西學進腦子里。

 

using System;
using System.Collections.Generic;namespace StackDemo
{class Program{static void Main(string[] args){// ====================== 1. 增(壓棧) ================

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/80212.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/80212.shtml
英文地址,請注明出處:http://en.pswp.cn/web/80212.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

汽車工廠數字孿生實時監控技術從數據采集到三維驅動實現

在工業智能制造推動下,數字孿生技術正成為制造業數字化轉型的核心驅動力。今天詳細介紹數字孿生實時監控技術在汽車工廠中的應用,重點解析從數據采集到三維驅動實現的全流程技術架構,并展示其在提升生產效率、降低成本和優化決策方面的顯著價…

git|gitee倉庫同步到github

參考:一次提交更新兩個倉庫,Get 更優雅的 GitHub/Gitee 倉庫鏡像同步 文章目錄 進入需要使用鏡像功能的倉庫,進入「管理」找到「倉庫鏡像管理」選項,點擊「添加鏡像」按鈕綁定github綁定成功后再次點擊添加鏡像如何申請 GitHub 私…

原生小程序+springboot+vue+協同過濾算法的音樂推薦系統(源碼+論文+講解+安裝+部署+調試)

感興趣的可以先收藏起來,還有大家在畢設選題,項目以及論文編寫等相關問題都可以給我留言咨詢,我會一一回復,希望幫助更多的人。 系統背景 在數字音樂產業迅猛發展的當下,Spotify、QQ 音樂、網易云音樂等音樂平臺的曲…

RustDesk

配置中繼服務器 https://rustdesk.com/docs/zh-cn/self-host/windows/ 服務器端 下載Windows版本 rustdesk-server-windows-x86_64.zip,安裝路徑為:C:\Program Files\RustDeskServer\bin。執行 hbbr.exe 和 hbbs.exe 兩個應用程序。這兩個應用提供了兩…

django中用 InforSuite RDS 替代memcache

在 Django 項目中,InforSuite RDS(關系型數據庫服務)無法直接替代 Memcached,因為兩者的設計目標和功能定位完全不同: 特性MemcachedInforSuite RDS核心用途高性能內存緩存,臨時存儲鍵值對數據持久化關系型…

leetcode 57. Insert Interval

題目描述 代碼:由于intervals已經按照左端點排序,并且intervals中的區間全部不重疊,那么可以斷定intervals中所有區間的右端點也已經是有序的。先二分查找intervals中第一個其右端點>newInterval左端點的區間。然后按照類似于56. Merge In…

去年開發一款鴻蒙Next Os的window工具箱

持拖載多個鴻蒙應用 批量簽名安裝 運行 http://dl.lozn.top/lozn/HarmonySignAndFileManagerTool_2024-11-26.zip 同類型安卓工具箱以及其他軟件下載地址匯總 http://dl.lozn.top/lozn/ 怎么個玩法呢,比如要啟動某app, 拖載識別到包名 點啟動他能主動讀取包名 然后…

Trivy:讓你時刻掌控的開源安全掃描器

深入了解 Trivy:全面的安全掃描工具 在如今互聯網快速發展的時代,軟件的安全性顯得尤為重要。隨著應用程序的復雜性增加,其可能帶來的安全漏洞也在不斷增多。如何快速、準確地發現這些潛在威脅是每個開發者和運維人員心中的課題。今天,我們將為大家介紹一個開源的安全掃描…

網址為 http://xxx:xxxx/的網頁可能暫時無法連接,或者它已永久性地移動到了新網址

這是由于瀏覽器默認的非安全端口所導致的,所謂非安全端口,就是瀏覽器出于安全問題,會禁止一些網絡瀏覽向外的端口。 避免使用6000,6666這樣的端口 6000-7000有很多都不行,所以盡量避免使用這個區間 還有在云服務器中&#xff0c…

Jenkins 執行器(Executor)如何調整限制?

目錄 現象原因解決 現象 Jenkins 構建時,提示如下: 此刻的心情正如上圖中的小老頭,火冒三丈,但是不要急,因為每一次錯誤,都是系統中某個環節在說‘我撐不住了’。 原因 其實是上圖的提示表示 Jenkins 當…

運維實施31-NFS服務

NFS概述 NFS(Network File System)網絡文件系統,主要用于Linux系統上實現文件共享的一種協議,其客戶端主要是Linux。 沒有用戶認證機制,且數據在網絡上傳送的時候是明文傳送,一般只能在局域網中使用支持多…

藍牙協議架構與調試工具詳解(含 BLE、HCI 命令、調試命令)

本文介紹藍牙協議從物理層到應用層的完整通信流程,并詳解了 Linux 下主流藍牙調試工具的使用方法,適用于嵌入式藍牙驅動開發、BLE調試、通信協議分析等場景。 🔧 1. 藍牙架構概覽 ? 芯片架構 單模芯片:僅支持 BLE 或 Classic 藍…

激光雷達定位算法在FPGA中的實現——section3 Matlab實現和校驗

1、校驗section2的計算方法是否正確 以section1里面的圖示 舉個例子: 1.1 手動計算 可以計算出4*4方陣C相關參數: 可以計算出余子式矩陣C_1相關參數:

數據結構(2)線性表-順序表

知道一個算法的好壞怎么去判斷以后,就該正式的去學習一些常見的數據結構,當然,這里的數據結構僅僅是初階,不會挨個一個一個學完,后期慢慢來。 一、數據結構總論 一般按照邏輯結構和存儲結構來分類,在初階…

性能測試詳解

🍅 點擊文末小卡片,免費獲取軟件測試全套資料,資料在手,漲薪更快 一、什么是性能測試 先看下百度百科對它的定義 性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統的各項性能指標進行測試 我們可以認為…

每日Prompt:三只動物與地標自拍磨砂玻璃后的虛實對比剪影

提示詞 一張黑白照片,展示了一個[主體]在磨砂或半透明表面后的模糊剪影。其[部分]輪廓清晰,緊貼表面,與其余朦朧、模糊的身影形成鮮明對比。背景是柔和的灰色漸變色調,增強了神秘和藝術的氛圍。

Android多媒體——媒體解碼器初始化(十五)

通過上一篇文章我們了解了媒體解碼器的創建過程,并且可以看到,在媒體解碼器創建成功后,分別調用了 configure()、setCallback() 和 start() 函數來對解碼器進行配置、回調和啟動。這里我們就來詳細看一下這幾個過程。 一、配置解碼器 首先看一下解碼器的配置,在 NuPlayerD…

每周資訊 | 騰訊Q1財報:國內游戲業務收入同比增長24%;Tripledot 8億美元收購AppLovin游戲業務

內容速覽: 廣州“服務貿易和數字貿易22條”助推游戲產業發展Tripledot Studios 8億美元收購AppLovin游戲業務蘋果緊急申請暫停執行AppStore新規4月中國手游出海收入下載榜,點點互動《Kingshot》收入激增 騰訊Q1財報:國內游戲業務收入同比增長…

本地跑通vue-element-admin項目

GitHub - PanJiaChen/vue-element-admin: :tada: A magical vue admin https://panjiachen.github.io/vue-element-admin 通過加速clone到本地 git clone https://gitclone.com/github.com/PanJiaChen/vue-element-admin.git # 進入項目目錄 cd vue-element-admin # 安裝依賴…

Go語言交替打印問題及多種實現方法

Go語言交替打印問題及多種實現方法 在并發編程中,多個線程(或 goroutine)交替執行任務是一個經典問題。本文將以 Go 語言為例,介紹如何實現多個 goroutine 交替打印數字的功能,并展示幾種不同的實現方法。 Go 語言相關…