Re[6]: Сортировка односвязного списка
От: Chorkov Россия  
Дата: 05.04.07 09:19
Оценка:
Здравствуйте, Chorkov, Вы писали:

C>Здравствуйте, ivanzh, Вы писали:



I>>А как же иначе провести вывод очереди?


C>
C>void __fastcall TForm1::Button3Click(TObject *Sender)
C>{
C>    int temp;
C>    if (first == NULL)
C>            Memo1->Lines->Add("Ochered pusta");
C>    else    //sortirovka
C>            //while (first!= NULL)
C>            for(T* i=first; i!=NULL && i->next!=NULL; i=i->next) // создаем временную переменную
C>                {
C>                        if(first->a>first->next->a)
C>                        {
C>                            temp=first->a;
C>                            first->a=first->next->a;
C>                            first->next->a=temp;
C>                        }
C>                        //first =first->next; переход на следующий элемент перенесен в for.
C>                }  //vivod
C>    for(T* i=first; i!=NULL && i->next!=NULL; i=i->next)
C>                {
C>                        Memo1->Lines->Add(IntToStr(first->a)+' '+(first->ch));
C>                        //first =first->next;
C>                }
C>}
C>


C>P.S. не знаю какого типа переменная first. поэтому использовал T*



Внутри цикла нужно былдо также заменить first на i



void __fastcall TForm1::Button3Click(TObject *Sender)
{
    int temp;
    if (first == NULL)
            Memo1->Lines->Add("Ochered pusta");
    else    //sortirovka
            //while (first!= NULL)
            for(T* i=first; i!=NULL && i->next!=NULL; i=i->next) // создаем временную переменную
                {
                        if(i->a>i->next->a)
                        {
                            temp=i->a;
                            i->a=i->next->a;
                            i->next->a=temp;
                        }
                        //first =first->next; переход на следующий элемент перенесен в for.
                }  //vivod
    for(T* i=first; i!=NULL && i->next!=NULL; i=i->next)
                {
                        Memo1->Lines->Add(IntToStr(i->a)+' '+(i->ch));
                        //first =first->next;
                }
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.