Kami mendapat nilai integer yang digunakan untuk membentuk senarai terpaut. Tugasnya adalah untuk memasukkan dahulu dan kemudian melintasi senarai pautan tunggal menggunakan kaedah rekursif.
Jika tidak cetak ( kepala → seterusnya )
Contoh
kuat>− Senarai terpaut: 1 → 2 → 7 → 9 → 10 → NULL
Input− 12 - 21 - 17 - 94 - 18
Output− Senarai berpaut: 12 → → → 21 NULL: 12 → → 21 Cara yang digunakan dalam program berikut Seperti berikut
Dalam kaedah ini kita akan menggunakan fungsi untuk menambah nod dan melintasi senarai terpaut tunggal dan memanggilnya secara rekursif untuk input seterusnya.
Mengambil struct SLLNode* dengan integer dan penunjuk seterusnya.
#include <bits/stdc++.h> using namespace std; struct SLLNode { int data; SLLNode* next; }; SLLNode* addtoEnd(SLLNode* head, int data){ if (head == NULL){ SLLNode *nodex = new SLLNode; nodex->data = data; nodex->next = NULL; return nodex; } else{ head->next = addtoEnd(head->next, data); } return head; } void traverseList(SLLNode* head){ if (head == NULL){ cout <<"NULL"; return; } cout << head->data << " -> "; traverseList(head->next); } int main(){ SLLNode* head1 = NULL; head1 = addtoEnd(head1, 1); head1 = addtoEnd(head1, 8); head1 = addtoEnd(head1, 56); head1 = addtoEnd(head1, 12); head1 = addtoEnd(head1, 34); cout<<"Linked List is :"<<endl; traverseList(head1); return 0; }
Output
Linked List is : 1 -> 8 -> 56 -> 12 -> 34 -> NULL
Atas ialah kandungan terperinci Memasukkan dan melintasi senarai terpaut secara rekursif dalam C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!