Я должен отсортировать записи студентов сначала по уровню, а потом по названию - PullRequest
1 голос
/ 16 марта 2011

Код, который я сделал, выглядит следующим образом ... но он совсем не сортирует результат. Он просто печатает то же, что и ввод. Пожалуйста, помогите мне

     strcpy(newnode->stud_name,name);
strcpy(newnode->stud_intake,id);
strcpy(newnode->stud_branch,course);
newnode->level=slevel;
newnode->next=NULL;


if(list==NULL)
    list=newnode;
else 
{
    if(slevel==list->level)
    {
        temp=list;          
        placefound=0;
    while(temp!=NULL && slevel==temp->level)
    {
            if(name>temp->stud_name)
            {
                prev=temp;
                temp=temp->next;
            }//else
            //placefound=1;
    }
            newnode->next=prev->next;
            prev->next=newnode;
}

1 Ответ

6 голосов
/ 16 марта 2011

Не пытаясь подробно отладить код связанного списка, есть один очень подозрительный момент:

if(name>temp->stud_name)

, вероятно, неправильно - вы не можете сравнивать строки C с ">".Посмотрите, как использовать функцию "strcmp" в стандартной библиотеке C.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...