Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

เพิ่มองค์ประกอบในรายการที่เชื่อมโยงโดยใช้ Javascript


เราจำเป็นต้องสร้างฟังก์ชัน insert(data, position) ที่แทรกข้อมูลที่ตำแหน่งที่กำหนดในรายการที่เชื่อมโยง เราจะดำเนินการตามขั้นตอนต่อไปนี้ -

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

นี่คือภาพประกอบของสิ่งเดียวกัน -

เพิ่มองค์ประกอบในรายการที่เชื่อมโยงโดยใช้ Javascript

ตอนนี้เรามาดูกันว่าเราจะใช้งานสิ่งนี้อย่างไร -

ตัวอย่าง

insert(data, position = this.length) {
   let node = new this.Node(data);
   if (this.head === null) {
      this.head = node;
      this.length++;
      return this.head;
   }
   let iter = 1;
   let currNode = this.head;
   while (currNode.next != null && iter < position) {
      currNode = currNode.next; iter++;
   }
   node.next = currNode.next;
   currNode.next = node;
   this.length++;
   return node;
}

โปรดทราบว่าเราได้กำหนดตำแหน่งเป็นองค์ประกอบสุดท้าย เนื่องจากถ้าคุณไม่ระบุตำแหน่ง ตำแหน่งนั้นจะถูกแทรกที่ส่วนท้ายตามค่าเริ่มต้น

คุณสามารถทดสอบได้โดยใช้ −

ตัวอย่าง

let list = new LinkedList();
list.insert(10);
list.insert(20);
list.insert(30);
list.insert(15, 2);
list.display();

ผลลัพธ์

สิ่งนี้จะให้ผลลัพธ์ -

10 ->
30 ->
15 ->
20 ->

อย่างที่เราเห็นองค์ประกอบทั้งหมดอยู่ในลำดับที่เราตั้งใจไว้ เราลองใส่ 15 ที่ตำแหน่งหลัง 2