สารบัญ:

คุณจะลบรายการเชื่อมโยงแบบวงกลมได้อย่างไร?
คุณจะลบรายการเชื่อมโยงแบบวงกลมได้อย่างไร?

วีดีโอ: คุณจะลบรายการเชื่อมโยงแบบวงกลมได้อย่างไร?

วีดีโอ: คุณจะลบรายการเชื่อมโยงแบบวงกลมได้อย่างไร?
วีดีโอ: วิธีแก้ปัญหา แจ้งเตือนสูตรมีติด Circular Reference (การอ้างอิงแบบวงกลม) 2024, พฤศจิกายน
Anonim

การลบออกจากรายการที่เชื่อมโยงแบบวงกลม

  1. ถ้า รายการ ไม่ว่างเปล่า จากนั้นเราจะกำหนดเคอร์เซอร์ของพอยน์เตอร์สองตัวและก่อนหน้า และเริ่มต้นเคอร์ร์ของตัวชี้ด้วยโหนดส่วนหัว
  2. สำรวจ รายการ ใช้ curr เพื่อค้นหาโหนดที่จะลบและก่อนที่จะย้าย curr ไปยังโหนดถัดไป ทุกครั้งที่ตั้งค่า prev = curr
  3. หากพบโหนด ให้ตรวจสอบว่าเป็นโหนดเดียวใน รายการ .

ด้วยวิธีนี้ คุณจะลบโหนดสุดท้ายในรายการเชื่อมโยงแบบวงกลมได้อย่างไร

การลบโหนดสุดท้ายของ Circular Linekd List

  1. ใช้ตัวชี้สองตัวปัจจุบันและก่อนหน้าแล้วสำรวจรายการ
  2. ย้ายพอยน์เตอร์ทั้งสองตัวให้ตัวชี้ถัดไปของก่อนหน้าชี้ไปที่ปัจจุบันเสมอ
  3. เมื่อกระแสของพอยน์เตอร์มาถึงโหนดสุดท้ายแล้ว ให้ทำดังต่อไปนี้:

นอกจากนี้ คุณจะลบองค์ประกอบออกจากรายการที่เชื่อมโยงได้อย่างไร มีสองสามขั้นตอนในการลบองค์ประกอบเฉพาะออกจากรายการ:

  1. ค้นหาโหนดที่มีองค์ประกอบ (ถ้ามี)
  2. ลบโหนดนั้น
  3. เชื่อมต่อรายการที่เชื่อมโยงอีกครั้ง
  4. อัปเดตลิงก์ไปยังจุดเริ่มต้น (ถ้าจำเป็น)

ตามลำดับ คุณจะย้อนกลับรายการเชื่อมโยงแบบวงกลมได้อย่างไร

ด้านล่างนี้เป็นตรรกะทีละขั้นตอนในการย้อนกลับรายการเชื่อมโยงแบบวงกลม

  1. เริ่มต้นตัวแปรตัวชี้สามตัว สุดท้าย = head, cur = head->next และ prev = head
  2. ย้าย head node ไปข้างหน้า เช่น head = head->next;
  3. เชื่อมโยงโหนดปัจจุบันกับโหนดก่อนหน้าเช่น cur->next = prev;
  4. ทำให้โหนดก่อนหน้าเป็นโหนดปัจจุบันเช่น prev = cur;

รายการที่เชื่อมโยงแบบวงกลมทวีคูณคืออะไร?

รายการที่เชื่อมโยงเป็นสองเท่าแบบวงกลม เป็นโครงสร้างข้อมูลที่ซับซ้อนกว่าซึ่งโหนดมีตัวชี้ไปยังโหนดก่อนหน้าและโหนดถัดไป โหนดแรกของ รายการ ยังมีที่อยู่ของโหนดสุดท้ายในพอยน์เตอร์ก่อนหน้า NS รายการเชื่อมโยงแบบวงกลมสองเท่า จะแสดงในรูปต่อไปนี้