我將序言說這是我的第一個問題。我目前獲得信息安全碩士學位,並且本學期不得不參加C++程序設計。所以這是相關的作業。我不是在尋找你來回答我的功課,但我正陷入一個奇特的境地。我創建了這個程序來處理雙向鏈表,一切正常。但是,當我有用戶創建一個值列表第一個節點不斷返回0.我試圖找到一些閱讀這一點,我找不到任何參考。我的問題是,頭節點(第一個節點)總是會變爲零?或者我做錯了什麼。Double Linked List標題節點不斷返回第一個值爲0
case: 'C':
cout<<"Please enter a list:"<<endl;
while(n!=-999){
myList.insert(n);
cin>> n;}
break;
我現在輸入:12321,1234,64564,346346。結果分別爲0,12321,1234,64564,346346。這是應該發生還是我做錯了什麼?同樣,因爲這是我的第一篇文章,請隨時批評或教我如何爲關鍵字添加顏色代碼。
無論如何,這是一項家庭作業,所以我只尋找指導和建設性的批評。
謝謝大家提前
所以我想不出在這個論壇的評論部分,所以我會修改原來的職位 第一部分是構造函數代碼:
template <class Type>
doublyLinkedList<Type>::doublyLinkedList()
{
first= NULL;
last = NULL;
count = 0;
}
再有就是我插入功能:
template <class Type>
void doublyLinkedList<Type>::insert(const Type& insertItem)
{
nodeType<Type> *current; //pointer to traverse the list
nodeType<Type> *trailCurrent; //pointer just before current
nodeType<Type> *newNode; //pointer to create a node
bool found;
newNode = new nodeType<Type>; //create the node
newNode->info = insertItem; //store the new item in the node
newNode->next = NULL;
newNode->back = NULL;
if(first == NULL) //if the list is empty, newNode is
//the only node
{
first = newNode;
last = newNode;
count++;
}
else
{
found = false;
current = first;
while (current != NULL && !found) //search the list
if (current->info >= insertItem)
found = true;
else
{
trailCurrent = current;
current = current->next;
}
if (current == first) //insert newNode before first
{
first->back = newNode;
newNode->next = first;
first = newNode;
count++;
}
else
{
//insert newNode between trailCurrent and current
if (current != NULL)
{
trailCurrent->next = newNode;
newNode->back = trailCurrent;
newNode->next = current;
current->back = newNode;
}
else
{
trailCurrent->next = newNode;
newNode->back = trailCurrent;
last = newNode;
}
count++;
}//end else
}//end else
}//end
然後,我有一個初始化函數太:
template <class Type>
void doublyLinkedList<Type>::initializeList()
{
destroy();
}
我錯過了什麼嗎?
是的,着色很整齊,不是嗎!無論如何,請同時發佈您的雙向鏈接列表代碼。問題可能在那裏。 – John
我相信@maniek明白了。第一次插入前是什麼'n'? – nullpotent
「代碼」 模板 doublyLinkedList :: doublyLinkedList() –
Craig