Практикум по курсу "Алгоритмизация и программирование". Часть 2. Андрианова А.А - 73 стр.

UptoLike

. Практикум по курсу «Алгоритмизация и программирование». Часть 2
return true;
}
List* current;
// подсчитываем количество элементов в списке
for(current=head;current!=NULL; current=current->next)
n++;
// создание вспомогательных стека и очереди
Stack s;
s.head=NULL;
Queue q;
q.head=q.tail=NULL;
current=head;
// запись первой половины элементов списка в очередь
for(int i=0;i<n/2;i++)
{
PushQueue(q,current->info);
current=current->next;
}
// при нечетном количестве элементов в списке
// пропускаем элемент, расположенный в середине
if(n%2==1)
current=current->next;
// запись второй половины элементов списка в стек
for(i=0;i<n/2;i++)
{
PushStack(s,current->info);
current=current->next;
}
bool f=true;
// одновременное извлечение значений элементов
// из очереди и стека, и их сравнение
for(i=0;i<n/2;i++)
{
PopQueue(q,a);
PopStack(s,b);
if(a!=b)
f=false;
}
return f;
}
73
     .       Практикум по курсу «Алгоритмизация и программирование». Часть 2
         return true;
    }
    List* current;
    // подсчитываем количество элементов в списке
    for(current=head;current!=NULL; current=current->next)
         n++;

    // создание вспомогательных стека и очереди
    Stack s;
    s.head=NULL;
    Queue q;
    q.head=q.tail=NULL;

    current=head;
    // запись первой половины элементов списка в очередь
    for(int i=0;iinfo);
         current=current->next;
    }
    // при нечетном количестве элементов в списке
    // пропускаем элемент, расположенный в середине
    if(n%2==1)
         current=current->next;

    // запись второй половины элементов списка в стек
    for(i=0;iinfo);
         current=current->next;
    }

    bool f=true;
    // одновременное извлечение значений элементов
    // из очереди и стека, и их сравнение
    for(i=0;i