私には関数があり、語幹の辞書を整理することになっています。関数呼び出しを挿入してから、それを正しいアルファベット順に配置するとします。リストの先頭と中央への追加は機能しますが、後方への追加は機能しません。いくつかの情報源を見てきましたが、何が問題なのかわかりません。
void dictionary::insert(string s) {
stem* t = new stem;
t->stem = s;
t->count =0;
t->next = NULL;
if (isEmpty()) head = t;
else {
stem* temp = head;
stem* prev = NULL;
while (temp != NULL) {
if (prev == NULL && t->stem < temp ->stem) {
head = t;
head->next = temp;
}
prev = temp;
temp = temp->next;
if(t->stem > prev->stem && t->stem < temp->stem ){
prev->next =t;
t->next=temp;
}
}
if(temp == NULL && t->stem > prev->stem){
prev->next=t;
}
}
}