1
我對我的代碼有麻煩。調用鏈表似乎沒有得到「更新」的值或他們沒有保存或什麼的。可以使用一些幫助,謝謝。插入到鏈表的前面
template <class T>
void LinkedList<T>::insert_front(const T& x)
{
LinkedList* p = this;
LinkedList* tmp = new LinkedList(x,p);
p = tmp;
cout<<p->m_data<<endl;
cout<<tmp->m_data<<endl;
調用函數是
//TEST : Inserting 10 numbers to a
cout << endl << "TEST : Inserting 10 numbers to A" << endl;
for (int k=0; k<10; k++){
A.insert_front(k+1);
}
cout << A << endl;
cout << "Size of a = " << A.size() << endl;
我得到的1122334455667788991010 輸出,該輸出tmp的數據值和P數據值每次調用 值去的代碼,他們是正確的值,就在我去打印時沒有顯示任何東西只是一個空的列表。謝謝,我是新來的,但熱愛社區。
您的鏈接列表的概念是有缺陷的。鏈表有一個頭*指針*,指向頭*節點*。如果你寫的是分配一個新的節點,讓它指向下一個'this',然後立即泄漏該分配。最後,你有一堆泄漏的內存和一個頭節點,它指向什麼也沒有開始:一個不確定的值和一個無用的下一個指針。 – WhozCraig