การทำ Link-List เพื่อใช้ในการเข้าถึงข้อมูลต่างๆได้ง่ายยิ่งขึ้น

หมวดสำหรับแบ่งบันความ รู้ต่างๆ จะมีหมวดย่อยๆ ในหมวดนี้ เช่น php, SQL, XML, CSS

Moderators: mindphp, ผู้ดูแลกระดาน

rangsan
PHP Hero Member
PHP Hero Member
Posts: 199
Joined: 30/04/2018 9:44 am

การทำ Link-List เพื่อใช้ในการเข้าถึงข้อมูลต่างๆได้ง่ายยิ่งขึ้น

Post by rangsan »

Link-List

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

ภาพตัวอย่าง Link List
Link_list.png
Link_list.png (31.24 KiB) Viewed 1002 times
ชนิดของ Link List

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

ภาพตัวอย่าง Singly Linked List
Singly_L.png
Singly_L.png (3.28 KiB) Viewed 1002 times
ส่วนที่เป็นตัวชี้โหนดถัดไปหรือ Link Field
เป็นส่วนที่ใช้สำหรับเชื่อมโยงข้อมูลตัวถัดไป โดย Link Field จะเก็บค่าตำแหน่ง (Address) ของสมาชิกตัวถัดไป จึงทำให้แต่ละสมาชิกของ Link List ให้อยู่รวมกันเป็นสายข้อมูล ทำให้สามารถที่จะจัดการกับโครงสร้างข้อมูลประเภทนี้ได้มีประสิทธิภาพกว่าโครงสร้างแบบ Array เพราะการเพิ่มข้อมูลจะทำได้โดยการสร้างสมาชิกของ Link List ขึ้นมาใหม่ได้ตามจำนวนที่ต้องการโดยไม่มีการจำกัดจำนวน

ภาพตัวอย่าง ส่วนที่เป็นตัวชี้โหนดถัดไปหรือ Link Field
Link_field.PNG
Link_field.PNG (1.23 KiB) Viewed 1001 times
ถ้าเกิดในกรณีที่ไม่มีสมาชิกใน List เลย ตัวแปร head จะต้องเก็บค่า NULL ไว้ ซึ่งรายการเชื่อมโยงแบบนี้ เรียกว่า รายการว่าง (Null List)
null_list.PNG
null_list.PNG (725 Bytes) Viewed 1001 times

อ้างอิง : google.com
It’s never too late to start again.
LEG
PHP Hero Member
PHP Hero Member
Posts: 105
Joined: 12/07/2019 2:54 pm
Contact:

Re: การทำ Link-List เพื่อใช้ในการเข้าถึงข้อมูลต่างๆได้ง่ายยิ่งขึ้น

Post by LEG »

เป็นประโยชน์มากครับ :like:
ศูนย์รวมเครื่องวัดคุณภาพ https://legatool.com/
ผู้เชี่ยวชาญของตลาดเครื่องมือวัด อุปกรณ์ทดสอบ และชุดทดสอบที่ใหญ่ที่สุดในประเทศไทย
Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Share Knowledge”

Who is online

Users browsing this forum: No registered users and 6 guests