สารบัญ:
วีดีโอ: คุณจะลบรายการเชื่อมโยงแบบวงกลมได้อย่างไร?
2024 ผู้เขียน: Lynn Donovan | [email protected]. แก้ไขล่าสุด: 2023-12-15 23:54
การลบออกจากรายการที่เชื่อมโยงแบบวงกลม
- ถ้า รายการ ไม่ว่างเปล่า จากนั้นเราจะกำหนดเคอร์เซอร์ของพอยน์เตอร์สองตัวและก่อนหน้า และเริ่มต้นเคอร์ร์ของตัวชี้ด้วยโหนดส่วนหัว
- สำรวจ รายการ ใช้ curr เพื่อค้นหาโหนดที่จะลบและก่อนที่จะย้าย curr ไปยังโหนดถัดไป ทุกครั้งที่ตั้งค่า prev = curr
- หากพบโหนด ให้ตรวจสอบว่าเป็นโหนดเดียวใน รายการ .
ด้วยวิธีนี้ คุณจะลบโหนดสุดท้ายในรายการเชื่อมโยงแบบวงกลมได้อย่างไร
การลบโหนดสุดท้ายของ Circular Linekd List
- ใช้ตัวชี้สองตัวปัจจุบันและก่อนหน้าแล้วสำรวจรายการ
- ย้ายพอยน์เตอร์ทั้งสองตัวให้ตัวชี้ถัดไปของก่อนหน้าชี้ไปที่ปัจจุบันเสมอ
- เมื่อกระแสของพอยน์เตอร์มาถึงโหนดสุดท้ายแล้ว ให้ทำดังต่อไปนี้:
นอกจากนี้ คุณจะลบองค์ประกอบออกจากรายการที่เชื่อมโยงได้อย่างไร มีสองสามขั้นตอนในการลบองค์ประกอบเฉพาะออกจากรายการ:
- ค้นหาโหนดที่มีองค์ประกอบ (ถ้ามี)
- ลบโหนดนั้น
- เชื่อมต่อรายการที่เชื่อมโยงอีกครั้ง
- อัปเดตลิงก์ไปยังจุดเริ่มต้น (ถ้าจำเป็น)
ตามลำดับ คุณจะย้อนกลับรายการเชื่อมโยงแบบวงกลมได้อย่างไร
ด้านล่างนี้เป็นตรรกะทีละขั้นตอนในการย้อนกลับรายการเชื่อมโยงแบบวงกลม
- เริ่มต้นตัวแปรตัวชี้สามตัว สุดท้าย = head, cur = head->next และ prev = head
- ย้าย head node ไปข้างหน้า เช่น head = head->next;
- เชื่อมโยงโหนดปัจจุบันกับโหนดก่อนหน้าเช่น cur->next = prev;
- ทำให้โหนดก่อนหน้าเป็นโหนดปัจจุบันเช่น prev = cur;
รายการที่เชื่อมโยงแบบวงกลมทวีคูณคืออะไร?
รายการที่เชื่อมโยงเป็นสองเท่าแบบวงกลม เป็นโครงสร้างข้อมูลที่ซับซ้อนกว่าซึ่งโหนดมีตัวชี้ไปยังโหนดก่อนหน้าและโหนดถัดไป โหนดแรกของ รายการ ยังมีที่อยู่ของโหนดสุดท้ายในพอยน์เตอร์ก่อนหน้า NS รายการเชื่อมโยงแบบวงกลมสองเท่า จะแสดงในรูปต่อไปนี้