ลิงค์ลิสต์ คือ โครงสร้างข้อมูลที่ได้มาจากการเชื่อมโยงโครงสร้างเข้าด้วยกันเป็นสายพอยเตอร์

               ลิงค์ลิสต์  คือ  โครงสร้างข้อมูลที่ได้มาจากการเชื่อมโยงโครงสร้างเข้าด้วยกันเป็นสายพอยเตอร์

Suda

 

Yupin

 

 

Aree

 

</span> 


start  

 

 

 


ภาพข้างต้นเรียกว่า  ลิงค์ลิสต์แบบโยงเดี่ยว  ซึ่งมี  start  เป็นพอยเตอร์ที่ชี้อยู่ที่หัวหรือด้านหน้าสุด  ลิงค์ลิสต์นี้ประกอบด้วยโครงสร้างหรือโหนด  3 โหนด  แต่ละโหนดเก็บชื่อตามลำดับ  คำถามที่ตามมาคือ  เราสร้างลิงค์ลิสต์ข้างต้นได้อย่างไร  เพื่อความเข้าใจก่อนอื่นให้พิจารณาการประกาศตัวแปรให้กับลิงค์ลิสต์ข้างต้นดังนี้

                              

                         #define  STRING25   25

                   typedef  struct  ptr

                   {

                          char name [STRING25];

                          struct  ptr  *  next;

                  }  Ptr;

                  Ptr  *star, *p,  *q;

แสดงว่า start  p  และ  q  เป็นตัวแปรชนิดพอยเตอร์ที่ชี้ไปยังเซลล์  ซึ่งเก็บโครงสร้างที่ประกอบด้วยฟิลด์ย่อย  คือ

  1. ฟิลด์ข้อมูล  (Data  Field)  ได้แก่  name
  2. ฟิลด์ตัวชี้  (Linked  Field)  ไดแก่  next 

ซึ่งฟิลด์ตัวชี้จะทำหน้าที่เก็บตัวชี้ของโครงสร้างถัดไป  ดังนั้น  ฟิลด์  next นี้เองที่ช่วยในการเชื่อมโยงทุกโครงสร้างเข้าด้วยกัน

วิธีการเชื่อมโยงโหนดเข้าด้วยกัน

           จากการสั่ง  new  พอยเตอร์  start p และ  q  แล้ว  เมื่อนำรายชื่อเข้าเก็บในแต่ละโหนดดังคำสั่งที่ผ่านมา  จะได้ภาพรวมของหน่วยความจำดังนี้

 

Suda

 

Yupin

 

 

Aree

 

</span>

 

</span>

 

</span> 


start                                                      p                                                    q                             

ในกรณีที่ต้องการเชื่อมโยงโหนดทั้ง 3 เข้าด้วยกัน  สามารถใช้คำสั่ง

                    Start - > next = p ;

 

-  การสร้างลิงค์ลิสต์โดยใช้ลูป

                    สมมติให้ข้อมูลที่จะป้อนผ่านแป้นพิมพ์มีลักษณะดังนี้

                                       Anong

                              Malee

                              Suda

                              Yupa

                              <eof>

หากต้องการสร้างลิสต์จากข้อมูลในรูปแบบข้างต้น  สามารถสร้างลิสต์ใน 3 ลักษณะ  คือ

1.        เอาโหนดแทรกด้านหน้าของลิสต์เสมอ

2.        เอาโหนดแทรกด้านปลายของลิสต์เสมอ

3.        เอาโหนดแทรกได้ทุกที่เพื่อให้ลิสต์ได้เรียงลำดับ