Stack Class
• Stack ก็เป็นโครงสร้างข้อมูลอีกแบบหนึ่งที่สามารถช่วยให้สามารถจัดเก็บข้อมูลได้
และสามารถ นำไปประยุกต์ใช้กับโปรแกรมอื่นๆได้ เช่น Balancing Symbols,
Postfix Expression Calculator เป็นต้น
• หลักการทำงานของ Stack เป็นหลักการง่ายๆคือ
ข้อมูลที่เข้าหลังสุดจะถูกนำออกก่อน (Last Input First Output: LIFO)
โอเปอเรเตอร์ที่สำคัญของ Stack
มีอยู่ 3 โอเปอเรเตอรประกอบด้วย
• Push คือโอเปอเรเตอร์ที่ใช้สำหรับการเพิ่มข้อมูลไปยัง
Stack
• Pop คือโอเปอเรเตอร์ที่ใช้สำหรับการลบข้อมูลจาก
Stack
• Peek คือโอเปอเรเตอร์ที่ใช้สำหรับการดูข้อมูลที่ตำแหน่งบนสุดของ
Stack นั่นคือดูข้อมูลล่าสุดที่เพิ่ม เข้าไป
ในการสร้างสแตกสามารถสร้างได้จากอาร์เรย์ก็ได้ หรือสามารถใช้ Linked List ก็ได้ แต่สำหรับบล็อกนี้จะแสดงการสร้างสแตกโดยใช้อาร์เรย์สร้างสแตกโดยใช้อาร์เรย์ว่า วันที่และเวลาใดมาก่อน วันที่และเวลาใดมาหลัง
•อันดับแรกก็สร้าง class Stack ขึ้นมาก่อน โดยมี Attribute ของคลาสดังรูป
การสร้างเมธอดที่จำเป็นต้องใช้ซึ่งประกอบด้วย
1. Stack() -> constructor method เขียนโค๊ดได้ดังนี้
2. initializeValueStack() เป็นเมธอดสำหรับกำหนดค่าเริ่มต้นให้กับอาร์เรย์
เขียนโค๊ดได้ดังนี้
3. isEmpty() เป็นเมธอดสำหรับตรวจสอบว่าสแตกไม่มีข้อมูลใดๆ
เลยใช่หรือไม่ โดยมี return type
คือ boolean เขียนโค๊ดได้ดังนี้
4. isFull() เป็นเมธอดสำหรับตรวจสอบว่าสแตกเต็มหรือไม่ โดยมี
return
type คือ boolean
เขียนโค๊ดได้ดังนี้
5. push() เป็นเมธอดสำหรับการเพิ่มข้อมูลไปยังสแตก โดยมรการรับพารามเตอร์หนึ่งตัวคือ
Object newItem เขียนโค๊ดได้ดังนี้
6. pop() เป็นเมธอดสำหรับการลบข้อมูลจากสแตก เขียนโค๊ดได้ดังนี้
7. peek() เป็นเมธอดสำหรับการดูข้อมูลที่ตำแหน่งบนสุดของสแตก
นั่นคือดูข้อมูลล่าสุดที่เพิ่มเข้าไป
โดยมี return type คือ Object เขียนโค๊ดได้ดังนี้
8. main() เป็นเมธอดสำหรับการเรียกใช้เมธอดอื่นๆ
เขียนโค๊ดได้ดังนี้
จากการยกตัวอย่างทั้งหมดนี้ทำให้สามรถสร้างสแตกอย่างง่ายขึ้นมมาใช้งานได้
และสามารถนำไป
ประยุกต์กับงานอื่นๆได้
ไม่มีความคิดเห็น:
แสดงความคิดเห็น