ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
ได้พิมพ์โดยJittramas Parnthep ได้เปลี่ยน 10 ปีที่แล้ว
1
[][Data][] [][1][]<->[][5][]<->[][3][]<->[][8][null]
ลิ้งค์ลิสต์สองทาง [][Data][] [][1][]<->[][5][]<->[][3][]<->[][8][null]
2
stuct node{ int data; struct node*Prtvious; //ชี้ไปยังโหนดก่อนหน้า Struct node*Next; // ชี้ไปยังโหนดถัดไป }
3
การแทรกโหนดใหม่ระหว่าง โหนด 2 กับ 3
First->[][1][]<->[][5][]<->[][3][]<->[][8][null] p pชี้โหนด 2 p->Next ชี้โหนด 3 (p->Next)->previous ชี้โหนด 2
4
1. ค้นหาตำแหน่งที่ต้องการจะแทรกโหนดใหม่
p=First; //ให้ทำในขณะที่ p->Data ไม่เท่ากับ5 while(p->data!5){ //ถ้าเป็นจริง ให้ p ชี้ไปยังโหนดถัดไป p=p->Next; //เมื่อออกจาก while()pชี้โหนด 2 }
5
2. สร้างโหนดใหม่ให้ new ชี้โหนดใหม่
Nodes new= createNewNode(); ผลลัพธ์ กำหนดให้กับโหนดใหม่ new->Data=4 new new
6
new 3 3 new 3.เปลี่ยนตำแหน่งชี้ของ Pointer ต่าง ๆ ดังนี้
(p->Next)->previous=new ให้ previous ของโหนด 3 ชี้ไปยังโหนดใหม่หรือ New new->Nexr=p->Next //ให้ Next ของ โหนดใหม่ ชี้ไปยัง โหนดที่ 3 เดิม new 3 3 new
7
5 new 5 new p->Next = new;
new->Previous=p ให้ Previous ของโหนดใหม่ชี้ไปยังโหนดที่2เดิม 5 new 5 new
8
การแทรกโหนดใหม่มาเป็นโหนดแรก Doubly Linked-List
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.