У меня есть структура с именем и одним узлом с именем nextName
Это список с одиночными связями, и моя задача состоит в том, чтобы создать список на основе алфавитного порядка строк.
Так что, если я войду в Джо Золта и Артура, я должен структурировать свой список как
Джо
Чем
Джо Золт
Чем
Артур Джо Золт
У меня проблемы с реализацией правильного Алгоритма, который установил бы указатели в правильном порядке.
Это то, что у меня есть сейчас.
Temp будет именем, которое пользователь только что ввел и пытается добавить в список,
namebox - это просто копия моего корня, являющаяся целым списком
if(temp != NULL)
{
struct node* namebox = root;
while (namebox!=NULL && (strcmp((namebox)->name,temp->name) <= 0))
{
namebox = namebox->nextName;
printf("here");
}
temp->nextName = namebox;
namebox = temp;
root = namebox;
Это работает прямо сейчас, если я ввожу такие имена, как CCC BBB, чем AAA
Я получаю обратно AAA BBB CCC, когда я печатаю
Но если я ставлю AAA BBB CCC, когда я печатаю, я получаю только CCC, он отключает предыдущее.
Edit:
Может кто-нибудь показать мне, как будет выглядеть код, я не могу его записать.