ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
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
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.