1

他の int リンク リストを保持するリンク リストを作成しようとしています。メイン リンク リストから int リンク リストにアクセスできるようにする必要があります。

私の質問は、メインのリンク リストのノードをポイントして、int リンク リストの先頭を保持する方法を教えてください。

静的リストを作成しました:dlist<Node<int>& > _plist; 関数があります:insertToHead ( T const& dataToInsert); しかし、リンクされたリストを使用するクラスからは、 head へのポインターしかありませんNode<T>*。を に渡そうとすると、エラーが発生しNode<T>*ますT const&

これは、連結リストを使用するクラスのコンストラクターです。

Set::Set(int numArray[], int size)
{

    dlist<Node<int> > _plist; //static main list
    dlist<int> _intList ; //int list
    dlist<int> list;     //int list

    int i;

    for (i=0; i < size; i++)
    {
       list.insertInOrder(numArray[i]); //insert in to int list
    }

    this->_intList = list;

    this->_plist.insertToHead(  _intList.getHead()); //gives an error

};

これは、メイン リストと int リンク リストの間のリンクを行う正しい方法ですか?

4

1 に答える 1

0

標準のコンテナでは、要素はコンテナによってのみ管理されるという主な設計であるため、要素を指すことはできません。

あなたがすることはコンテナのコンテナです、すなわちあなたの場合はdlist< dlist<int> >

ただし、他のより複雑なケースでは、標準ライブラリを使用できません。たとえば、2つの独立したリンクリストに同時に含まれる要素が必要な場合、標準コンテナを使用したソリューションはなく、コーディングする必要があります。データ構造を自分で作成するか、一部の操作に追加料金を支払うことを受け入れる必要があります。

于 2012-09-19T05:28:41.873 に答える