สารบัญ:
คำจำกัดความ - Stack หมายถึงอะไร
สแต็กเป็นโครงสร้างแนวคิดที่ประกอบด้วยชุดขององค์ประกอบที่เป็นเนื้อเดียวกันและขึ้นอยู่กับหลักการของการเข้าก่อนออกก่อน (LIFO) มันเป็นชนิดข้อมูลนามธรรมที่ใช้กันทั่วไปกับสองการดำเนินงานที่สำคัญคือการผลักดันและป๊อป พุชและป๊อปจะดำเนินการกับองค์ประกอบสูงสุดซึ่งเป็นรายการที่เพิ่มล่าสุดในสแต็ก การดำเนินการพุชจะเพิ่มองค์ประกอบลงในสแต็กขณะที่การดำเนินการป๊อปจะลบองค์ประกอบออกจากตำแหน่งบนสุด แนวคิดสแต็กใช้ในการเขียนโปรแกรมและหน่วยความจำในคอมพิวเตอร์
Techopedia อธิบาย Stack
สแต็กหมายถึงลำดับของวัตถุหรือองค์ประกอบในรูปแบบโครงสร้างข้อมูลเชิงเส้น สแต็คประกอบด้วยด้านล่างที่ถูกล้อมรอบและการดำเนินการทั้งหมดจะดำเนินการที่ตำแหน่งด้านบน เมื่อใดก็ตามที่มีการเพิ่มองค์ประกอบลงในสแต็กโดยการดำเนินการกดค่าสูงสุดจะเพิ่มขึ้นทีละหนึ่งและเมื่อองค์ประกอบถูกดึงออกจากสแต็กค่าสูงสุดจะลดลงหนึ่งรายการ ตัวชี้ไปยังตำแหน่งบนสุดของกองซ้อนยังเป็นที่รู้จักในนามตัวชี้กองซ้อน
สแต็กอาจได้รับการแก้ไขในขนาดหรืออาจมีการใช้งานแบบไดนามิกที่ได้รับอนุญาตให้เปลี่ยนขนาด ในกรณีของสแต็กความจุที่ จำกัด การพยายามเพิ่มองค์ประกอบให้กับสแต็กเต็มแล้วทำให้เกิดข้อยกเว้นสแตกล้น ในทำนองเดียวกันเงื่อนไขที่การดำเนินการแบบป๊อปพยายามลบองค์ประกอบออกจากสแต็กที่ว่างเปล่าอยู่แล้วนั้นเรียกว่าอันเดอร์โฟล์
สแต็กถือว่าเป็นโครงสร้างข้อมูลที่ จำกัด เนื่องจากอนุญาตการดำเนินการในจำนวนที่ จำกัด เท่านั้น นอกเหนือจากการดำเนินการแบบพุชและป๊อปการใช้งานบางอย่างอาจอนุญาตให้มีการดำเนินการขั้นสูงเช่น:
- Peek - ดูรายการสูงสุดในสแต็ก
- ทำซ้ำ - คัดลอกค่าของไอเท็มด้านบนลงในตัวแปรแล้วดันกลับเข้าไปในสแต็ก
- สลับ - สลับสองรายการบนสุดในสแต็ก
- หมุน - ย้ายองค์ประกอบที่สูงที่สุดในสแต็กตามที่ระบุโดยตัวเลขหรือย้ายในรูปแบบการหมุน
การประยุกต์ใช้ซอฟแวร์ของแนวคิดสแต็กจะทำโดยใช้อาร์เรย์และรายการที่เชื่อมโยงที่มีการติดตามตำแหน่งสูงสุดโดยใช้ตัวแปรหรือตัวชี้ส่วนหัวตามลำดับ ภาษาการเขียนโปรแกรมจำนวนมากมีคุณสมบัติในตัวเพื่อรองรับการใช้งานสแต็ก
สแต็คฮาร์ดแวร์ถูกนำไปใช้เพื่อวัตถุประสงค์ในการจัดสรรหน่วยความจำและการเข้าถึงโดยใช้แหล่งกำเนิดและขนาดคงที่ การลงทะเบียนสแต็กใช้เพื่อเก็บค่าของตัวชี้สแต็ก
