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

เขียนโปรแกรมในภาษา C++ เพื่อแทรกโหนดที่จุดเริ่มต้นของรายการเชื่อมโยงเดียวที่กำหนด


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

สมมติว่าเราได้ให้รายชื่อที่เชื่อมโยงโดยลำพัง ภารกิจคือการแทรกโหนดที่จุดเริ่มต้นของรายการที่เชื่อมโยงที่กำหนด ตัวอย่างเช่น

อินพุต-1 − 1 → 2 → 3 → 4

แทรก '5' ที่ส่วนหัวหรือจุดเริ่มต้นของรายการที่เชื่อมโยงที่กำหนด

ผลผลิต − 5 → 1 → 2 → 3 → 4

คำอธิบาย − หลังจากแทรกโหนดที่จุดเริ่มต้นของรายการที่เชื่อมโยง มันจะพิมพ์รายการที่เชื่อมโยงเป็น 5 → 1 → 2 → 3 → 4

แนวทางการแก้ปัญหานี้

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

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

  • ฟังก์ชัน insertAthead(node*&head, int data) รับที่อยู่ของโหนดส่วนหัวและข้อมูลที่เราต้องแทรก

  • สร้างโหนดใหม่และแทรกข้อมูลเข้าไป

  • ย้ายส่วนหัวไปยังโหนดที่สร้างขึ้นใหม่

  • พิมพ์รายการที่เชื่อมโยง

ตัวอย่าง

#include<iostream>
using namespace std;
class node{
   public:
      int data;
      node*next;
      node(int d);
      data=d;
      next= NULL;
   }
};
void insertAthead(node*&head, int data){
   node*n= new node(data);
   n->next= head;
   head= n;
}
void print(node*head){
   while(head!=NULL){
      cout<<head->data<<"->";
      head= head->next;
   }
}
int main(){
   node*head= NULL;
   insertAthead(head,5);
   insertAthead(head,2);
   insertAthead(head,8);
   insertAthead(head,3);
   print(head);
}

ผลลัพธ์

การเรียกใช้โค้ดด้านบนจะสร้างผลลัพธ์เป็น

3→ 8→ 2→ 5 →

การแทรกโหนด 3, 8, 2 และ 5 ที่จุดเริ่มต้นของรายการที่เชื่อมโยง จะสร้างผลลัพธ์เป็น − 3→ 8→ 2→ 5 →