งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

บทที่ 6 โครงสร้างข้อมูลลิ้งค์ลิสต์

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "บทที่ 6 โครงสร้างข้อมูลลิ้งค์ลิสต์"— ใบสำเนางานนำเสนอ:

1 บทที่ 6 โครงสร้างข้อมูลลิ้งค์ลิสต์
การจัดเก็บที่มีรูปแบบเรียงตามลำดับ (Sequential) เปลี่ยนมาใช้รูปแบบไม่เรียงตามลำดับและสมาชิกทุกตัวจะถูกเชื่อม(Link)ต่อเข้าด้วยกันเมื่อมีการลบค่าสมาชิกตัวใดออกหรือแทรกค่าสมาชิกใหม่เข้ามา ก็จะทำให้สมาชิกอื่น ๆ มีการขยับตำแหน่งตามไปด้วย

2 รูปแบบโครงสร้างข้อมูลลิ้งค์ลิสต์
Info Next Info Next Info Next Info Next L1 L2 ... Ln Null First Node1 Node2 Node3 Node4

3 โครงสร้างของโหนด Successor = Node ที่อยู่ถัดไปจาก Node ที่ใช้งานอยู่
โครงสร้างของโหนดประกอบด้วย Nodeประกอบด้วยinfo ใช้เก็บ integer และ Next ชื่อพอยเตอร์สำหรับชี้ไปยังโหนดถัดไป Successor = Node ที่อยู่ถัดไปจาก Node ที่ใช้งานอยู่ Presecessor = Node ที่อยู่ก่อนหน้าจาก Node ที่กำลังใช้งานอยู่

4 การแทรกโหนดไว้ในลิ้งค์ลิสต์
1. อัลกอริทึมการแทรกโหนดใหม่ลงในลิ้งค์ลิสต์ (การแทรกโหนดระหว่างกลาง)

5 ฟังก์ชันการตรวจสอบลิ้งค์ลิสต์
คำสั่งที่ใช้ตรวจสอบว่าโหนดนี้เท่ากับ 2หรือไม่ถ้า ไม่ใช่ให้ทำการตรวจสอบต่อ แต่ถ้าใช่ให้ออกจากคำสั่ง p=First; do while(p-->info!=2){ p=p-->First-->Next; }

6 ลิ้งค์ลิสต์เดิม P | ? First ต้องการจะแทรกโหนดใหม่หลังโหนดที่มี
| ? First 2 4 Null

7 ต้องการจะแทรกโหนดใหม่ระหว่างโหนดที่ 2 กับ 3 มีขั้นตอนดั้งนี้
1.สร้างโหนดใหม่ที่ชื่อว่าโดยใช้พอยเตอร์ที่ชื่อว่า "N" N 2.กำหนดค่าให้กับโหนดใหม่ เช่น ให้ info = 3 คำสั่ง N info=3; ผลลัพธ์ P Null 3 Null

8 3.กำหนดให้พอยเตอร์ของโหนดใหม่ชี้ไปยัง Node ถัดไป
คำสั่ง N Next=p next; ผลลัพธ์ N 4.ให้พอยเตอร์ของ Node ก่อนหน้าชี้ไปยังโหนด Node ใหม่ คำสั่ง p next=n; ผลลัพธ์ p 3 address of Node 4 2 N

9 1 address of Node 2 2 p Next 3 address of Node 4 4 Null
ผลลัพธ์ที่ได้ในโหนด First 1 address of Node 2 2 p Next 3 address of Node 4 4 Null

10 ลิ้งค์ลิสต์เดิม P ? | First
? | First 2 4 Null

11 2. อัลกอริทึมการแทรกโหนดใหม่ลงในลิ้งค์ลิสต์
(การแทรกโหนดก่อนหน้า) มีขั้นตอนดังนี้ 1.สร้างโหนดใหม่ที่ชื่อว่าโดยใช้พอยเตอร์ที่ชื่อว่า "N" N 2.กำหนดค่าให้กับโหนดใหม่ เช่น ให้ info = 3 คำสั่ง N info=3; ผลลัพธ์ P Null 3 Null

12 ผลลัพธ์ N ผลลัพธ์ที่ได้ในโหนด First N 3 address of Node 1 4 2 1 5
3.กำหนดใหพอยเตอร์ของโหนดใหม่ชี้ไปยัง Node ถัดไป (Node 1 หรือโหนดแรก) คำสั่ง N Next=first; ผลลัพธ์ N ผลลัพธ์ที่ได้ในโหนด First N 3 address of Node 1 4 2 1 5

13 4.ให้พอยเตอร์ของ Node ก่อนหน้าชี้ไปยังโหนด Node ใหม่
First=n; First n First 5 Null 1 address of Node 2 2 p Next 4 Null 5

14 ลิ้งค์ลิสต์เดิม P | ? First
| ? First 1 2 3 Null

15 3. อัลกอริทึมการแทรกโหนดใหม่ลงในลิ้งค์ลิสต์
(การแทรกโหนดหลังโหนดสุดท้าย) มีขั้นตอนดังนี้ คำสั่งในการตรวจสอบโหนดว่าเป็นโหนดสุดท้าย แล้วยังถ้าเป็นโหนดสุดท้ายที่ Nextจะเป็นnull p=First; do while(p-->info!=null){ p=p-->Next; }

16 ต้องการจะแทรกโหนดใหม่ต่อจากโหนดสุดท้าย มีขั้นตอนดั้งนี้
ต้องการจะแทรกโหนดใหม่ต่อจากโหนดสุดท้าย มีขั้นตอนดั้งนี้ 1.สร้างโหนดใหม่ที่ชื่อว่าโดยใช้พอยเตอร์ที่ชื่อว่า "N" N 2.กำหนดค่าให้กับโหนดใหม่ เช่น ให้ info = 4 คำสั่ง N info=4; ผลลัพธ์ P Null 4 Null

17 3.กำหนดใหพอยเตอร์ของโหนดใหม่ชี้ไปยัง Nodeสุดท้าย(p)
คำสั่ง p next=n; ผลลัพธ์ First n 1 address of Node 2 p 2 p Next 3 4 Null


ดาวน์โหลด ppt บทที่ 6 โครงสร้างข้อมูลลิ้งค์ลิสต์

งานนำเสนอที่คล้ายกัน


Ads by Google