บทความ

stack

stack ลักษณะของ สแตก • สแตก เป็นโครงสร้างข้อมูลแบบเชิงเส้น • โครงสร้างข้อมูลที่จัดเก็บเป็นแบบเรียงลำดับต่อเนื่องกันไป • การเพิ่มหรือนำข้อมูลออก จากส แตกทำได้ที่จุดปลาย ของส แตกทางเดียว • มาทีหลังแต่ออกก่อน (Last In – First Out : LIFO)        การสร้าง stack implemet สามารถแทนที่ข้อมูล สแตก ได้ 2 วิธี คือ . การสร้าง สแตกด้วย อาร์เรย์ เป็นการจัดสรรเนื้อที่หน่วยความจำแบบ Static ซึ่งต้องมีการกำหนด ขนาด ของส แตกเพื่อใช้งานล่วงหน้า . การสร้าง สแตกด้วย ลิงค์ลิสต์ เป็นการจัดสรรเนื้อที่หน่วยความจำแบบ Dynamic โดยจะจัดสรร หน่วยความจำเมื่อมีการใช้งานจริงเท่านั้น และยังสามารถเก็บข้อมูลต่างชนิดกันได้ 1.การจัดการ สแตก ในการทำงาน ของส แตก ประกอบด้วย 2 กระบวนการ คือ การเพิ่มข้อมูลลง บนสแตก (Push Stack)  และการดึงข้อมูลออก จากส แตก (Pop Stack) 2.การทำงานของ stack operation ประกอบด้วยฟังก์ชันพื้นฐาน ดังนี้ 2.1   ClearStack  เป็นการดำเนินการเพื่อลบข้อมูลออก จากส แตกให้หมด กรณีใช้โครงสร้างข้อมูลอาร์เรย์ ต้องสั่งให้ช่อ...

Queue

Queue 1. ลักษณะของคิว โครงสร้าง การทำงานแบบ คิว คือการมีการจัดลำดับการเข้าและออกข้อมูลอย่างเป็นลำดับ ข้อมูลใดเข้ามาก่อนก็จะดำเนินการก่อน  หากข้อมูลใดเข้ามาทีหลังก็จะดำเนินการทีหลัง เรียกลักษณะของการดำเนินการแบบนี้ว่า   First In First Out (FIFO) หรือ เข้า ก่อนออกก่อน 2.ประเภทของคิว • คิวธรรมดา (Queue)   หมายถึง คิวที่มีการนำข้อมูลเข้าทางท้ายคิว (Rear) และนำข้อมูลออกหางคิว (Front) โดยถ้าท้ายคิวไปอยู่ที่ตำแหน่งท้ายสุดของคิวแล้ว ถึงแม้จะมีช่องว่างเหลือที่หัวคิวก็ไม่สามารถนำข้อมูลใหม่ไปเก็บได้ จนกว่าจะนำข้อมูลในคิวออกให้หมดก่อนจึงเริ่มนำข้อมูลใหม่ไปเก็บได้ • คิววงกลม (Circular Queue)  หมายถึง คิวที่ถูกออกแบบมาให้มีลักษณะเป็นวงกลมเพื่อให้สามารถนำข้อมูลใหม่ไปเก็บไว้ที่ช่องว่างด้านหน้าคิวได้ คิววงกลมออกแบบมาเพื่อแก้ปัญหาคิวธรรมดา       ลักษณะคิววงกลม • เหมือนคิวธรรมดาคือมีตัวชี้ 2 ตัวคือ front และ rear สำหรับแสดงตำแหน่งหัวคิวและท้ายคิวตามลำดับ • แตกต่างจากคิวธรรมดา คือ คิวธรรมดาเมื่อ rear ชี้อยู่ที่ตำแหน่งสุดท้ายของคิว จะทำให้ไม่สามา...