วันพุธที่ 30 กันยายน พ.ศ. 2552

DTS04-15-07-2552

สรุปเนื้อหาบทเรียน “Data Structure”
เรื่อง Linked List

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

***ในลิงค์ลิสต์จะมีตัวแปรสำหรับชี้ตำแหน่งลิสต์ (list pointer variable) ซึ่งเป็นที่เก็บตำแหน่งเริ่มต้นของลิสต์ ซึ่งก็คือ โหนดแรกของลิสต์นั่นเอง ถ้าลิสต์ไม่มีข้อมูล ข้อมูลในโหนดแรกของลิสต์จะเป็นNull
โครงสร้างข้อมูลแบบลิงค์ลิสต์ประกอบด้วย 2 ส่วน คือ
1. Head Structure จะประกอบด้วยไปด้วย 3 ส่วน ได้แก่ จำนวนโหนดในลิสต์ (Count) , พอยเตอร์ที่ชี้ไปยังโหนดที่เข้าถึง (Pos) , และพอยเตอร์ที่ชี้ไปยังโหนดข้อมูลแรกของลิสต์ (Head)
2. Data Node Structure จะประกอบไปด้วย ข้อมูล และพอยเตอร์ที่ชี้ไปยังข้อมูลตัวถัดไป
** การเพิ่มข้อมูลลงในลิงค์ลิสต์ จะสามารถกระทำได้โดยการเปลี่ยนพอยเตอร์บางตัว และค้นหาข้อมูลใน ลิงค์ลิสต์ เพื่อหาตำแหน่งของโหนดที่มาก่อนโหนดที่ต้องการเพิ่ม และสิ่งสำคัญในการเพิ่มข้อมูลในลิงค์ลิสต์ นั่นคือ ลำดับการเปลี่ยนพอยเตอร์
** การลบข้อมูลออกจากลิงค์ลิสต์ ถ้าต้องการลบข้อมูลตัวใดในลิงค์ลิสต์สามารถลบออกได้เลย แต่จะต้องเปลี่ยน head เพื่อชี้ข้อมูลไปยังข้อมูลตัวแรกของลิงค์ลิสต์ในกรณีที่ลบข้อมูลตัวแรกออก แล้ว link คือ เมื่อลบข้อมูลตัวใดออกควรชี้ link ถัดไปให้ถูกต้อง

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

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