我知道如何表示链表的方式基本上是创建一个Node类(最好是struct),然后创建实际的linkedList类。然而,昨天我正在寻找反转单链表操作的逻辑,我遇到的几乎 90% 的解决方案都包括该函数,返回数据类型Node*。因此我很困惑,因为如果你想反转一个列表,不管你做了什么操作,它不会又是linkedList的类型吗?我做错了吗?
我一直在做的链表实现;
#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;
}
}
};