我知道如何表示一個鏈表基本上創建節點類(更優選結構),並且創建實際鏈表類的方式。不過,昨天我正在尋找的倒車單鏈表操作邏輯和我遇到的解決方案,近90%的被包括的函數,返回的數據類型節點*。因此,我感到困惑,因爲如果你想要顛倒一個列表,無論你做了什麼操作,難道它不是linkedList的類型嗎?我做錯了嗎?C++:鏈接表表示
鏈表實現我做所有的時間;
#include <iostream>
using namespace std;
struct Node
{
int data;
Node *next;
};
class linkedList
{
public:
Node* firstPtr;
Node* lastPtr;
linkedList()
{
firstPtr=lastPtr=NULL;
}
void insert(int value)
{
Node* newNode=new Node;
newNode->data=value;
if(firstPtr==NULL)
firstPtr=lastPtr=newNode;
else {
newNode->next=firstPtr;
firstPtr=newNode;
}
}
void print()
{
Node *temp=firstPtr;
while(temp!=NULL)
{
cout<<temp->data<<" ";
temp=temp->next;
}
}
};
您能否提供一個列表反轉的函數調用,您會發現混淆? – Andrey 2012-04-23 08:52:15
問題的重點是不實際的** **逆轉功能,但爲什麼**的功能(如反向)**將返回值類型** **節點 – Ali 2012-04-23 08:54:44
@rolandbishop:在您的例子,'LinkedList'只是一個封裝來隱藏來自客戶端的實現細節('Node *'),而你看到一個網絡的解決方案只關注實現簡潔。 – 2012-04-23 11:37:22