方法私は基本的にノードクラス(より好ましく構造体)を作成し、実際のLinkedListのクラスを作成する方法リンクリストを表現するために知って。しかし、昨日、私はのロジックを探していました。これは、単一のリンクリストの操作を逆転させ、私が遭遇したソリューションのほぼ90%が関数を含んでいたため、戻り値の型はノード*でした。したがって、あなたが行った操作が何であってもリストを逆転させたいのであれば、それはlinkedListのタイプではないでしょうか?私はそれを間違った方法でやっているのですか?C++:リンクされたリスト表現
リンクリストの実装Iは常に実行されます。
#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
質問の焦点は実際には逆転**機能ではなく、なぜ機能**(逆転のような)**が値の型を返すか**ノード** – Ali
@rolandbishop:あなたの例では、 'LinkedList'はちょうどクライアントからの実装の詳細( 'Node *')を隠すためのラッパー、単純な実装に焦点を絞ったネットだけを見たソリューションがあります。 –