การดำเนินการกับสแตก (Operation on Stacks:push and pop)
โครงสร้างสแตกสามารถดำเนินการได้ 2 ลักษณะหลักๆ คือ
1. การนำสมาชิกใหม่เข้าไปเก็บในสแตก (Add หรือ Insert) การดำเนินการนี้จะมีชื่อเรียกโดยเฉพาะ เป็นมาตรฐานสากลว่า push การสั่ง push(Stack,item) จะหมายถึงให้น้ำ item ซึ่วเป็นสมาชิกใหม่เข้าไปวางไว้ด้านบนสุดของสแตก
2. การนำสมาชิกใหม่ออกจากสแตก (Remove หรือ Delete) การดำเนินการนี้จะมีชื่อเป็นมาตรฐานว่า pop การสั่ง pop (stack,item) หมายถึงการนำสมาชิกด้านบนสุดของสแตกออกมาแล้วส่งค่านั้นกลับโดยผ่าน item
คำว่า push หรือ pop จะใช้กับโครงสร้างสแตกเท่านั้น
ต่อไปนี้จะเป็นภาพจำลองเพื่อให้เห็นวิธีการจัดการกับสแตก
คำสั่ง ภาพของสแตก
|
2 |
|
|
|
|
push (stack, 2) ;
|
2 |
8 |
|
|
|
push (stack, 8) ;
|
2 |
8 |
5 |
|
|
push (stack, 5) ;
|
2 |
8 |
|
|
|
pop (stack, item) ;
item มีค่า 5
|
2 |
|
|
|
|
pop (stack, item) ;
item มีค่า 8
|
2 |
9 |
|
|
|
item = 9 ;
โดยปกติการวาดภาพของสแตกมักนิยมวาดในลักษณะอาร์เรย์หงาย โดยมีปลายเปิดด้านบน ทั้งนี้เพราะสามารถมองเห็นภาพกรณีการ push หรือการ pop ได้โดยง่ายและชัดเจน
คำสั่ง
push (Stack, “Malee”) ; Malee ↱
ภาพของสแตก
|
|
|
Malee |
push (Stack, “Suda”) ; Suda↱
ภาพของสแตก
|
|
|
Suda |
|
Malee |
push (Stack, “Anant”) ; Anant ↱
ภาพของสแตก
|
|
|
Anant |
|
Suda |
|
Malee |
pop (Stack, “name”) ; name ↰
ภาพของสแตก
|
Anant |
|
Suda |
|
Malee |
สวัสดีคะ น้องอิสราพร
พี่เป็นผู้ดูแลเว็บไซต์คะ และได้ลองอ่านบันทึกทั้งหมดในบล็อกของน้องแล้ว คิดว่าวัตถุประสงค์ของการใช้งานบล็อกของน้อง คงจะเพื่อการส่งการบ้าน หรือส่งงานให้อาจารย์
พี่รบกวนน้องย้ายบล็อกเพื่อส่งการบ้านไปยัง http://learners.in.th คะ ซึ่งใช้งานเช่นเดียวกัน GotoKnow.org
โดย Learners.in.th นั้น เป็นบล็อกเพื่อการเรียนการสอน ดังนั้นน้องๆ นักศึกษาสามารถเขียนบล็อกเพื่อส่งงานที่นี่ได้คะ
สำหรับ GotoKnow.org เป็นบล็อกที่มีวัตถุประสงค์สำหรับการแลกเปลี่ยนประสบการณ์คะ