วันจันทร์ที่ 27 กรกฎาคม พ.ศ. 2552

สรุปการเรียน"Linked List & Stack"

เรื่อง "Linked List"
Linked List จะมีคำสั่งในกระบวนการทำงานของแต่ะคำสั่งที่แต่ต่างกันไป เช่น กระบวนการการทำงานแบบ Traverse มีหน้าที่คือการท่องไปในลิสต์และจะทำการประมวลข้อมูล ผลลัพธ์ที่ได้ขึ้นอยู่กับการประมวลผล เช่นการแปลงค่าใน node การคำนวณค่าเฉลี่ยของฟิลด์ และยังมีฟังก์ชัน EmptyList เพื่อทดสอบว่าลิสต์ว่างหรือไม่ กระบวนการทำงาน Retrieve Node ใช้หาตำแหน่งในลิสต์ ฟังก์ชันlist cont จะทำหน้าที่นับจำนวนข้อมูลที่อยู่ในลิสต์และฟังกืชัน FullList ใช้ทดสอบว่าลิสต์นั้นเติมหรือไม่ และกระบวนการสุดท้ายในการทำงานของLinked List คือกระบวนการ Destroy list คือการหยุดการทำงานของลิสต์
Linked List แบบซ้อนเป็นลิงค์ลิสต์สมาชิกตัวสุดท้ายที่ชี้ไปที่สมาชิกตัวแรกของลิงค์ลิสต์จะเป็นการทำงานแบบวงกลม Double Linked List เป้นการทำงานแบบ 2 ทิศทางจะมีตัวชี้ไปข้อมูลก่อนหน้าและชี้ข้อมูลตัวถัดไป
เรื่อง"Stack"
เป้นโครงสร้างข้อมูลแบบลิเนียนลิสต์ ลักษณะที่สำคัญของสแตกคือข้อมูลที่ถูกใส่หลังสุดจะถูกนำออกมาแสดงก่อนข้อมูลที่เข้าไปก่อน เรียกขั้นตอนนีว่า LOFO ( Last in First Out ) จะมีการทำงานอยู่ 3 ขั้นตอน
1.การใส่ข้อมูลลงในสแตกหรือ Push
**2.การนำข้อมูลออกจากส่วนบนสุดของสแตกหรือ Pop เมื่อนำข้อมูลออกจากสแตกแล้วจะเกิดภาวะสแตกว่าง stack empty และถ้าไม่มีข้อมูลอยู่ในสแตก แล้วทำการ Pop อีกก็จะเกิดการผิดพลาดเรียกว่า "Stack Underflow" และการป้องกันไม่ให้เกิดการ Underflow ของข้อมูลการนำขั้อมูลออกทุกครั้งควรตรวจสอบก่อนว่าสแตกนั้นว่างหรือไม่แล้ค่อยนำข้อมูลออกและปรับตัวชี้ตำแหน่งไปชี้ตำแหน่งที่ข้อมูลที่ต่อจากข้อมูลที่ออกไป
3.การคัดลอกข้อมูลที่อยู่บนสุดของสแตกไว้แต่ไม่ได้เป็นกการนำข้อมูลออกจากสแตก
DTS.05-07-2552

ไม่มีความคิดเห็น:

แสดงความคิดเห็น