我想要一個插入函數,它調用一個專用的遞歸插入函數,將下一個數字添加到鏈表的末尾。我遇到了麻煩,我應該使用哪些參數,以及遞歸插入函數中應該包含哪些參數。我在想,遞歸插入函數需要一個Node指針遞歸地遞進。追加與遞歸鏈接列表
class LinkedList{
private:
struct Node{
int data; //stores data in nodes
Node* next;
~Node(){delete next;}
};
public:
LinkedList(){ first = NULL;}
~LinkedList(){delete first;}
void print() const {
print(first);
}
void insert(const int d){ //here is where the first insert method is
insert(first, d);
}
private:
Node* first;
這裏是我想知道如何得到插入功能通過獲取參數的不同過載,我被困在功能...
void insert(Node* p, const int d){ //this is the private recursive one
Node* temp = new Node;
temp->data=d;
if(p->next == NULL) p->next = temp;
else insert(p->next, d);
}
};
int main() {
int a[] = { 1, 2, 3, 4, 5, 6};
LinkedList list;
for(int i=0; i<6; i++)
list.insert(a[i]);
}
。我也想知道我是否正確地逐步完成遞歸函數。