แบตเตอรี่ทำงานอย่างไร
แบตเตอรี่เป็นโครงสร้างข้อมูลพื้นฐานในการเขียนโปรแกรม มันเป็นไปตามหลักการของการเข้ามาครั้งแรก (ต่อมน้ำเหลือง) เช่นองค์ประกอบสุดท้ายที่แทรกเป็นครั้งแรกที่จะถูกลบออก ในบล็อกนี้เราจะสำรวจองค์ประกอบที่ประกอบขึ้นเป็นแบตเตอรี่และวิธีการทำงาน
องค์ประกอบแบตเตอรี่
สแต็กประกอบด้วยชุดขององค์ประกอบหลัก:
- push: การดำเนินการที่แทรกองค์ประกอบที่ด้านบนของแบตเตอรี่
- ป๊อป: การดำเนินการที่ลบส่วนบนของแบตเตอรี่ด้านบน
- ด้านบน: ส่งคืนองค์ประกอบด้านบนของสแต็กโดยไม่ต้องถอดออก
- ว่างเปล่า: ตรวจสอบว่าสแต็กว่างเปล่า
การดำเนินการสแต็ก
เพื่อทำความเข้าใจว่าสแต็กทำงานอย่างไรลองนึกภาพกองอาหาร คุณสามารถเพิ่มจานที่ด้านบนของสแต็ก (กด) หรือถอดด้านบนของด้านบน (ป๊อป) จานสุดท้ายที่เพิ่มจะเป็นครั้งแรกที่จะถูกลบออก
ในการเขียนโปรแกรมแบตเตอรี่จะถูกนำมาใช้โดยใช้โครงสร้างข้อมูลที่เรียกว่าอาร์เรย์หรือรายการรายการ แต่ละองค์ประกอบจะถูกเก็บไว้ในโหนดซึ่งมีตัวชี้สำหรับปมถัดไป
เมื่อมีการเพิ่มองค์ประกอบลงในแบตเตอรี่มันจะกลายเป็นด้านบนใหม่และชี้ตัวชี้ไปที่ด้านบนเก่า เมื่อองค์ประกอบถูกลบตัวชี้ด้านบนจะถูกอัปเดตเป็นองค์ประกอบถัดไป
ตัวอย่างโค้ด:
นี่คือตัวอย่างของการใช้สแต็กในภาษา C:
#include
#include#define max_size 100
typedef struct {
ข้อมูล int [max_size];
int top;
} ซ้อนกัน;โมฆะกด (สแต็ก *สแต็คค่า int) {
if (stack-> topdata [stack-> top ++] = value;
} อื่น {
printf ("สแต็กล้น! \ n");
}
}int pop (สแต็ค *สแต็ค) {
if (stack-> top> 0) {
return stack-> วันที่ [-stack-> top];
} อื่น {
printf ("สแต็กใต้โฟลว์! \ n");
กลับ -1;
}
}int main () {
สแต็คสแต็ค;
stack.top = 0;กด (& Stack, 10);
กด (& Stack, 20);
กด (& Stack, 30);printf ("%d \ n", ป๊อป (& สแต็ค));
printf ("%d \ n", ป๊อป (& สแต็ค));
printf ("%d \ n", ป๊อป (& สแต็ค));กลับ 0;
}
ในตัวอย่างนี้ฟังก์ชั่นการกดแทรกองค์ประกอบลงในสแต็กและฟังก์ชั่นป๊อปจะลบองค์ประกอบออกจากสแต็ก โปรแกรมพิมพ์ค่าที่ลบออกจากสแต็กซึ่งจะเป็น 30, 20 และ 10 ตามลำดับ
ในระยะสั้นแบตเตอรี่เป็นโครงสร้างข้อมูลที่เป็นไปตามหลักการชีวิต มันถูกใช้ในแอปพลิเคชันต่าง ๆ เช่นการใช้อัลกอริทึมการค้นหาการประมวลผลนิพจน์ทางคณิตศาสตร์และการจัดการหน่วยความจำ
ฉันหวังว่าบล็อกนี้จะช่วยให้เข้าใจว่าสแต็กทำงานอย่างไรและมีความสำคัญในการเขียนโปรแกรม!