Здравствуйте, 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;
}
}