私は、同じ引数を与えられたノードのために自分のノードを見ている検索機能を作ろうとしていますが、私はこれを行う方法について私の頭を包んでいるようには見えません。私のノード(要素)は、ポインタnext_、T color_、およびstring name_で構成されています。私は見つけたノードと前のノードとのペアを返す必要があります。見つからないか、前にない場合は、nullのポインタを返します。単独リンクされたリストの検索
template<typename T>
pair<Element<T>*, Element<T>*> PAL<T>::find(string name){
pair<Element<T>*, Element<T>*> *result = nullptr;
Element<T>* x = nullptr;
Element<T>* y = nullptr;
for (Element<T> *n = back_; n != nullptr; n = n -> next_){
if (n -> name_ == name){
Element<T>* x = Element<T>(n -> name_, n -> color_);
result.first = x;
result.second = y;
break;
}
Element<T>* y = Element<T>(n -> name_, n -> color_);
}
return result;
}
私は自分が何をしているのかわからないので、これは初めてのリストです。私はどんな種類の助けにも感謝し、必要に応じてもっと情報を提供することができます! ありがとうございました!
意味はありますか? :/ – Alex
正直言って、これを試してみる前に、些細なことの*もっと*単純化されたリンクリスト(テンプレートなし)であなたの頭をラップすることから始めます。ここでは、より基本的な(ポインタ管理)の兆候があります。あなたは、その不安に加えてテンプレート管理を必要としません。 – WhozCraig
あなたが 'nullptr'を使用しているということは、あなたがC++ 11以降を使用していることを示唆しています。これは単一のリンクされた[' std :: forward_list'](http://en.cppreference.com/w/cpp/ container/forward_list)クラスを使用します。私はあなたが手動でこの種のものを実装する代わりに、それを使用することを検討することをお勧めします。しかし、あなたは本当に**単一の**リンクされたリストが必要ですか?これは、** '** std :: list'(http://en.cppreference.com/w/cpp/container/list)のように** ** ** **リンクされたリストを使うとずっと簡単になるからです。 –