最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#棧和隊(duì)列的簡(jiǎn)介,算法與應(yīng)用簡(jiǎn)單實(shí)例

 更新時(shí)間:2018年10月25日 09:24:52   作者:Czhenya  
今天小編就為大家分享一篇關(guān)于C#棧和隊(duì)列的簡(jiǎn)介,算法與應(yīng)用簡(jiǎn)單實(shí)例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧

堆棧(Stack)

代表了一個(gè)后進(jìn)先出的對(duì)象集合。當(dāng)您需要對(duì)各項(xiàng)進(jìn)行后進(jìn)先出的訪問(wèn)時(shí),則使用堆棧。當(dāng)您在列表中添加一項(xiàng),稱為推入元素,當(dāng)您從列表中移除一項(xiàng)時(shí),稱為彈出元素。

常用方法:

public virtual void Clear();

從 Stack 中移除所有的元素。

public virtual bool Contains( object obj );

判斷某個(gè)元素是否在 Stack 中。

public virtual object Peek();

返回在 Stack 的頂部的對(duì)象,但不移除它。

public virtual object Pop();

移除并返回在 Stack 的頂部的對(duì)象。

public virtual void Push( object obj );

向 Stack 的頂部添加一個(gè)對(duì)象。

public virtual object[] ToArray();

復(fù)制 Stack 到一個(gè)新的數(shù)組中。

========================================================

隊(duì)列(Queue)

代表了一個(gè)先進(jìn)先出的對(duì)象集合。當(dāng)您需要對(duì)各項(xiàng)進(jìn)行先進(jìn)先出的訪問(wèn)時(shí),則使用隊(duì)列。當(dāng)您在列表中添加一項(xiàng),稱為入隊(duì),當(dāng)您從列表中移除一項(xiàng)時(shí),稱為出隊(duì)。

常用方法:

public virtual void Clear();

從 Queue 中移除所有的元素。

2 public virtual bool Contains( object obj );

判斷某個(gè)元素是否在 Queue 中。

public virtual object Dequeue();

移除并返回在 Queue 的開(kāi)頭的對(duì)象。

public virtual void Enqueue( object obj );

向 Queue 的末尾添加一個(gè)對(duì)象。

public virtual object[] ToArray();

復(fù)制 Queue 到一個(gè)新的數(shù)組中。

public virtual void TrimToSize();

設(shè)置容量為 Queue 中元素的實(shí)際個(gè)數(shù)。

=========================================================

簡(jiǎn)單實(shí)例:

編程判斷一個(gè)字符串是否是回文?;匚氖侵敢粋€(gè)字符序列以中間字符為基準(zhǔn)兩邊字符完全相同,如字符序列“ACBDEDBCA”是回文。

算法思想:

判斷一個(gè)字符序列是否是回文,就是把第一個(gè)字符與最后一個(gè)字符相比較,第二個(gè)字符與倒數(shù)第二個(gè)字符比較,依次類推,第 i 個(gè)字符與第 n-i個(gè)字符比較。如果每次比較都相等,則為回文,如果某次比較不相等,就不是回文。因此,可以把字符序列分別入隊(duì)列和棧,然后逐個(gè)出隊(duì)列和出棧并比較出隊(duì)列的字符和出棧的字符是否相等,若全部相等則該字符序列就是回文,否則就不是回文。

using System;
using System.Collections.Generic;
namespace 棧和隊(duì)列舉例
{
 class Program
 {
  static void Main(string[] args)
  {
   string str = Console.ReadLine();
   Stack<char> stack = new Stack<char>();
   Queue<char> queue = new Queue<char>();
   for (int i = 0; i < str.Length; i++)
   {
    stack.Push(str[i]);
    queue.Enqueue(str[i]);
   }
   bool isHui = true;
   while(stack.Count > 0)
   {
    if(stack.Pop() != queue.Dequeue())
    {
     isHui = false;
     break;
    }
   }
   Console.WriteLine("是否回文字符串:" + isHui);
   Console.ReadKey();
  }
 }
}

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • C#和vb.net實(shí)現(xiàn)PDF 添加可視化和不可見(jiàn)數(shù)字簽名

    C#和vb.net實(shí)現(xiàn)PDF 添加可視化和不可見(jiàn)數(shù)字簽名

    本文通過(guò)C#程序代碼展示如何給PDF文檔添加可視化數(shù)字簽名和不可見(jiàn)數(shù)字簽名。文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • C#獲取存儲(chǔ)過(guò)程返回值和輸出參數(shù)值的方法

    C#獲取存儲(chǔ)過(guò)程返回值和輸出參數(shù)值的方法

    這篇文章主要介紹了C#獲取存儲(chǔ)過(guò)程返回值和輸出參數(shù)值的方法,有需要的朋友可以參考一下
    2014-01-01
  • C#委托與事件初探

    C#委托與事件初探

    事件是委托的一種特殊形式,當(dāng)發(fā)生有意義的事情時(shí),事件處理對(duì)象通知過(guò)程。接下來(lái)通過(guò)本文給大家介紹C#委托與事件初探,感興趣的朋友一起學(xué)習(xí)吧
    2016-02-02
  • C#中如何使用redis

    C#中如何使用redis

    這篇文章主要介紹了C#中如何使用redis,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • C#連接MySql數(shù)據(jù)庫(kù)的方法

    C#連接MySql數(shù)據(jù)庫(kù)的方法

    最近兩天在解決C#連接MySql數(shù)據(jù)庫(kù)的問(wèn)題,通過(guò)不同的從網(wǎng)上學(xué)習(xí),最終找到了解決的辦法,現(xiàn)在和大家分享一下
    2013-10-10
  • C#正則表達(dá)式與HashTable詳解

    C#正則表達(dá)式與HashTable詳解

    這篇文章主要介紹了C#正則表達(dá)式與HashTable詳解,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-07-07
  • C#中4種深拷貝方法介紹

    C#中4種深拷貝方法介紹

    這篇文章主要介紹了C#中4種深拷貝方法介紹,本文講解了利用反射實(shí)現(xiàn)、利用xml序列化和反序列化實(shí)現(xiàn)、利用二進(jìn)制序列化和反序列化實(shí)現(xiàn)、利用silverlight DataContractSerializer實(shí)現(xiàn),用于在silverlight 客戶端使用等4種方法,需要的朋友可以參考下
    2015-06-06
  • C#關(guān)聯(lián)自定義文件類型到應(yīng)用程序并實(shí)現(xiàn)自動(dòng)導(dǎo)入功能

    C#關(guān)聯(lián)自定義文件類型到應(yīng)用程序并實(shí)現(xiàn)自動(dòng)導(dǎo)入功能

    今天通過(guò)本文給大家分享C#關(guān)聯(lián)自定義文件類型到應(yīng)用程序并實(shí)現(xiàn)自動(dòng)導(dǎo)入功能,代碼中寫(xiě)入了兩個(gè)注冊(cè)表,實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-09-09
  • C# List 排序各種用法與比較

    C# List 排序各種用法與比較

    這篇文章主要介紹了C# List 排序各種用法與比較的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • 基于一個(gè)應(yīng)用程序多線程誤用的分析詳解

    基于一個(gè)應(yīng)用程序多線程誤用的分析詳解

    本篇文章是對(duì)一個(gè)應(yīng)用程序多線程的誤用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05

最新評(píng)論

安泽县| 昆明市| 鲜城| 潍坊市| 平安县| 上杭县| 日土县| 南宫市| 搜索| 洞头县| 仁寿县| 墨江| 江安县| 昭通市| 准格尔旗| 湘乡市| 理塘县| 灌阳县| 塔城市| 洪江市| 安阳市| 丘北县| 出国| 平顶山市| 布拖县| 桦川县| 永和县| 徐闻县| 莲花县| 拜城县| 玛纳斯县| 乌拉特中旗| 平度市| 平山县| 兴山县| 武宣县| 沭阳县| 荃湾区| 施秉县| 铁岭县| 成都市|