วันอังคารที่ 21 กรกฎาคม พ.ศ. 2552

DTS04/21/07/52

สรุปบทเรียน เรื่อง Linked List

ลิงค์ลิสต์เป็นวิธีการเก็บข้อมูลอย่างต่อเนื่องของอิลิเมรต์ต่างๆ โดยจะมีพอยเตอร์เป็นตัวเชื่อมต่อ ในแต่ละ
อิลิเมนท์ จะเรียกว่า โนด (Node) โดยในแต่ละโนดจะประกอบไปด้วย 2 ส่วน คือ Data จะเก็บข้อมูลของ
อิลิเมนท์ ในส่วนที่สอง คือ Link Field ทำหน้าที่เก็บตำแหน่งของโนดต่อไปในลิสต์ ในลิงค์ลิสต์จะมีตัวแปรสำหรับชี้ตำแหน่งลิสต์ซึ่งจะเป็นที่เก็บตำแหน่งเริ่มต้นของลิสต์ ก็คือ โหนดแรกของลิสต์นั่นเอง ถ้าในลิสต์ไม่มีข้อมูล ข้อมูลในโหนดแรกของลิสต์นั้จะเป็น Null

โครงสร้างของข้อมูลแบบลิงค์ลิสต์จะแบ่งเป็น 2 ส่วน คือ
Head Structure จะประกอบไปด้วย 3 ส่วน คือจำนวนโหนดในลิสต์ (Count) พอยเตอร์ที่ชี้ไปยัง

โหนดที่เข้าถึง (Pos)และพอยเตอร์ที่ชี้ไปยังโหนดข้อมูลแรกของลิสต์ (Head)
Data Node Structure ประกอบไปด้วยข้อมูลและพอยเตอร์ที่ชี้ไปยังข้อมูลถัดไป

กระบวนการทำงานของ Delete Node จะทำหน้าที่ลบสมาชิกในลิสต์ในลิสต์บริเวณตำแหน่งที่เราต้องการการนำข้อมูลนำเข้าข้อมูลและตำแหน่งและผลลัพธ์ที่ลิสต์ที่มีการเปลี่ยนแปลง
กระบวนการทำงาน Search list
หน้าที่ ค้นหาข้อมูลในลิสต์ที่ต้องการของข้อมูลนำเข้าลิสต์ ผลลัพธ์ ค่าจริงจะถ้าพบข้อมูล ค่าเท็จถ้าไม่พบข้อมูลนั้น

Traverse คือ หน้าที่ท่องไปในลิสต์เพื่อเข้าถึงและ ประมวลผลข้อมูลนำเข้าลิสต์ ผลลัพธ์ ขึ้นกับการประมวลผล
เช่นการเปลี่ยนแปลงค่า ใน node,รวมกับฟิลด์ในลิสต์คำนวณค่าเฉลี่ยของฟิลด์ นั้นเป็นต้น
Retrieve Node หน้าที่ คือ หาตำแหน่งข้อมูลจากลิสต์ข้อมูลนำเข้าลิสต์ ผลลัพธ์คือ ตำแหน่งข้อมูลที่อยู่ใลสต์

ฟังก์ชั่น เป็น หน้าที่ ทดสอบว่าลิสต์ว่างข้อมูลนำเข้าลิสต์ ผลลัพธ์ ถ้าเป็นจริง
ลิสต์ว่าง ถ้าเป็นเท็จ ลิสต์ไม่ว่าง การทำงานของ FullList ทดสอบหน้าที่ ว่าลิสต์เต็มหรือไม่มีข้อมูลนำเข้าลิสต์ ผลลัพธ์คือ ถ้า เป็นจริง หน่วยความจำเต็ม เป็นเท็จ สามารถมีโหนดอื่น กระบวนการทำงานของ Destroy list หน้าที่คือ การทำลายลิสต์ ข้อมูลนำเข้าคือ ลิสต์และผลลัพธ์ คือไม่มีลิสต์





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

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