日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#= 栈模仿堆的操作

發布時間:2023/12/13 C# 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#= 栈模仿堆的操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


//原理,利用兩個棧,互相作用,來模仿堆的效果,先進先出。。

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Threading.Tasks; 5 6 namespace TwoStacksQueue 7 { 8 public class Program 9 { 10 public void Main(string[] args) 11 { 12 TwoStaksQueues twoStaksQueues = new TwoStaksQueues(); 13 14 twoStaksQueues.Add(1); 15 twoStaksQueues.Add(2); 16 twoStaksQueues.Add(3); 17 18 Console.WriteLine(twoStaksQueues.Peek()); 19 20 twoStaksQueues.Poll(); 21 22 Console.WriteLine(twoStaksQueues.Peek()); 23 24 Console.ReadLine(); 25 } 26 public class TwoStaksQueues 27 { 28 public Stack<int> stacksPush; 29 public Stack<int> stackPop; 30 public TwoStaksQueues() 31 { 32 stackPop = new Stack<int>(); 33 stacksPush = new Stack<int>(); 34 } 35 public void Add(int newNumber) 36 { 37 stacksPush.Push(newNumber); 38 } 39 40 public int Poll() 41 { 42 if (stacksPush.Count() == 0 && stackPop.Count() == 0) 43 { 44 45 throw new ArgumentOutOfRangeException("DataStacks is Empty"); 46 } 47 if (stackPop.Count() == 0) 48 { 49 while (stacksPush.Count() != 0) 50 { 51 stackPop.Push(stacksPush.Pop()); 52 } 53 } 54 return stackPop.Pop(); 55 } 56 public int Peek() 57 { 58 if (stacksPush.Count() == 0 && stackPop.Count() == 0) 59 { 60 throw new IndexOutOfRangeException("DataStacks is Empty"); 61 } 62 if (stackPop.Count() == 0) 63 { 64 while (stacksPush.Count() != 0) 65 { 66 stackPop.Push(stacksPush.Pop()); 67 } 68 } 69 return stackPop.Peek(); 70 71 } 72 } 73 } 74 } View Code

轉載于:https://www.cnblogs.com/shidengyun/p/5037478.html

總結

以上是生活随笔為你收集整理的C#= 栈模仿堆的操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。