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

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

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

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


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

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

2 รูปแบบโครงสร้างข้อมูลลิ้งค์ลิสต์ LnLn Null... L2L2 L1L1 Info Next Info Next Info Next Info Next Node 1 Node 2 Node 3 Node 4 Fir st

3 โครงสร้างของโหนดประกอบด้วย 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 ต้องการจะแทรกโหนดใหม่หลัง โหนดที่มี ค่าเท่ากับ 2 โดยให้ตัวแปรพอย เตอร์ "P" ชี้ P | ? First ลิ้งค์ลิสต์เดิม 2 4 Null

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

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

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

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

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

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

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

14 ต้องการจะแทรกโหนดใหม่หน้าต่อ จากโหนดสุดท้ายโดยให้ตัวแปร พอยเตอร์ "P" ชี้ P | ? First ลิ้งค์ลิสต์เดิม Null

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

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

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


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

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


Ads by Google