C # สแต็ค (Stack)
สแต็ค (Stack)LIFO หมายถึงคอลเลกชันของวัตถุเมื่อคุณจำเป็นต้องดำเนินการเข้าถึง LIFO ใช้สแต็คเมื่อคุณเพิ่มรายการที่เรียกว่าองค์ประกอบผลักดันเมื่อคุณลบรายการจากรายการที่เรียกว่าองค์ประกอบป๊อป
วิธีการสแต็คและคุณสมบัติของชั้นเรียน
ตารางต่อไปนี้แสดงบางส่วนของทั่วไปแอตทริบิวต์ระดับกอง:
属性 | 描述 |
---|---|
Count | 获取 Stack 中包含的元素个数。 |
ตารางต่อไปนี้แสดงบางส่วนของวิธีการที่พบสแต็คระดับ:
序号 | 方法名 & 描述 |
---|---|
1 | public virtual void Clear();
从 Stack 中移除所有的元素。 |
2 | public virtual bool Contains(
object obj
);
判断某个元素是否在 Stack 中。 |
3 | public virtual object Peek(); 返回在 Stack 的顶部的对象,但不移除它。 |
4 | public virtual object Pop(); 移除并返回在 Stack 的顶部的对象。 |
5 | public virtual void Push(
object obj
); 向 Stack 的顶部添加一个对象。 |
6 | public virtual object[] ToArray(); 复制 Stack 到一个新的数组中。 |
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงสแต็ค (Stack) การใช้งาน:
การใช้ระบบ ใช้ System.Collections; CollectionsApplication namespace { Program รุ่น { เป็นโมฆะคง main (String args []) { กอง ST = ใหม่สแต็ค (); st.Push ( 'A'); st.Push ( 'M'); st.Push ( 'G'); st.Push ( 'w'); Console.WriteLine ( "สแต็คที่ปัจจุบัน:"); foreach (ถ่านใน St) { Console.Write (C + ""); } Console.WriteLine (); st.Push ( 'V'); st.Push ( 'H'); Console.WriteLine ( "ค่า poppable ต่อไปในสแต็ค: {0}" st.Peek ()); Console.WriteLine ( "สแต็คที่ปัจจุบัน:"); foreach (ถ่านใน St) { Console.Write (C + ""); } Console.WriteLine (); Console.WriteLine ( "การถอดค่า"); st.Pop (); st.Pop (); st.Pop (); Console.WriteLine ( "สแต็คที่ปัจจุบัน:"); foreach (ถ่านใน St) { Console.Write (C + ""); } } } }
เมื่อโค้ดข้างต้นจะรวบรวมและดำเนินการก็จะก่อให้เกิดผลลัพธ์ต่อไปนี้:
สแต็คที่ปัจจุบัน: WGMA ค่า poppable ต่อไปในสแต็ค: H สแต็คที่ปัจจุบัน: HVWGMA การถอดค่า สแต็คที่ปัจจุบัน: ย่า