Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2021, 22:40   #1
Дмитрий_852
 
Регистрация: 09.03.2021
Сообщений: 4
По умолчанию Quicksort реализовать через односвяный циклический список

Подскажите, что здесь может быть не так.
deck* deg(deck* head, deck* temp)
{
deck* temp1;
for (temp1 = head; temp1->next != temp && temp1->next != NULL; temp1 = temp1->next);
return temp1;
}
void QSort(deck* head, deck* last)
{
int count = 0;
int x;
deck* temp = head;
while (temp != NULL)//считаю кол-во чисел
{
count++;
temp = temp->next;
}
x = count / 2;
count = 0;
temp = head;
while (count != x) //Находим середину
{
if (x == 1)
{
count++;
}
else {
temp = temp->next;
count++;
}
}
deck* i = head;
deck* j = last;
while (i <= j) {
while (i->val < temp->val) i = i->next;
while (j->val > temp->val) j = deg(head, temp);
if (i <= j) {
int t = i->val;
i->val = j->val;
j->val = t;
i = i->next;
j = deg(head, j);
}
}
QSort(head, temp);
QSort(i, last);
}
Дмитрий_852 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с программой на delphi: L обозначает кольцевой (циклический) двунаправленный список с заглавным звеном и пусть E обозначает величину типа элементов, входящих в список ника елисеева Помощь студентам 1 05.12.2018 13:42
Циклический список с++ YRELIS Помощь студентам 2 19.03.2017 20:36
Односвяный список С++ kryliaangela Помощь студентам 8 27.05.2012 17:16
Циклический список Scan Общие вопросы .NET 0 18.11.2010 20:13
Циклический список на С++ Йэжиг Общие вопросы C/C++ 1 12.10.2009 22:42