私は何か正しいことをしたかもしれないと思う、headByRatingとheadByNameは両方とも同じアドレスを参照する。LinkedList Part
私は一日中働いてダイアグラスを描いていて、新しいことなどを試しています。
私は2つのリストポインタheadByRatingとheadByNameを持っています。 と2つのノードポインタnextByNameとnextByRating。
どういうわけか、名前と評価でこの情報を並べ替えることができる必要があります。 私はptrsのアドレスごとにそのことをやっていると思っていました。私は並べ替えしようとしていることを例として
2文:
//main.cpp list *wineries = new list(); wineries->insert(winery("Lopez Island Vinyard", "San Juan Islands", 7, 95)); wineries->insert(winery("Gallo", "Napa Valley", 200, 25));
ワイナリーctorのは、すべてが、この時点で割り当てられ、オブジェクトにされて結構です。
//list.cpp void list::insert(const winery& winery) { list *listPtr = new list(); // havent really used the list obj. yet. node *current = new node(winery); // winery is now a node. node *temp = current; // temp knows about the nodes address. while (temp->nextByName != NULL) { // check for null and reassign temp = temp->nextByName; } node *new_node = new node(winery); // creating a new node. new_node->item = winery; new_node->nextByName = new_node; new_node->nextByRating = new_node; }
// list.h struct node { winery item; node * nextByName; node * nextByRating; }; class list { ... private: node * headByName; node * headByRating; };
これに対する良いアプローチは何ですか?私はこの権利をやっているとは思わない。
ここでやろうとしていることは本当に分かりません。あなたはそれを読む誰もがあなたの心を読む能力を持っているかのようにこの質問を書いています。あなたは何をしようとしていますか、あなたを止めている問題は何ですか? –
リンクされたリストをやろうとしています。ワイナリーオブジェクトには、名前、場所、評価、エーカーの4つの属性があります。メインからの最初のスニペットで見られるのは、ワイナリーオブジェクトの内容です。どうにか私は評価と名前を並べ替える必要があります。 – user40120
あなたのコードの読者の視点から考える必要があるかもしれません。あなたは一般的にリンクされたリストをソートしようとはしませんし、あなたが持っているものにはいくつかの明らかなバグがあります。また、そこにあるものの意味を実際には説明していない。私はあなたのコードを簡単に理解できるものに単純化しようと努力することをお勧めします。 –