私が持っている中、このリンクリストに挿入した後、値の先頭の値は最後に入力された値です。どうして?
class LetterList
{
private:
node <char, Dictionary> *head;
public:
LetterList(){head = NULL;};
void createLetterList();
void print();
};
辞書のようなこの
template <typename E, typename F>
struct node
{
public:
E data;
node<E, F>* next;
node<F, F>* down;
};
と一つのクラスのような一般的なリンクリスト構造体「ノード*ヘッド;」別のクラスです。 LetterListクラスを使用して、リンクリストにすべてのアルファベットを挿入するだけです。ここで私はそれを持っているコードが..です
node <char, Dictionary> *p = new node <char, Dictionary>;
p->data = 'A';
char ch;
if (head == NULL)
{
p->next = NULL;
head = p;
}
node <char, Dictionary> *q = head;
while (true)
{
for (int i=66; i<91;i++)
{
ch = char (i);
p->data = ch;
q ->next = p;
if (i == 90)
{
q->next = NULL;
}
else
q = q->next;
}
break;
}
}
このコードを実行した後、リンクリストの先頭には「Z」であるが、それは「A」ではないでしょうか?私がこれで間違ったことを教えてください。
言語タグを追加してください。 –