реклама на сайте
подробности

 
 
> сортировка связного списка
Sneg_87
сообщение Mar 5 2010, 04:49
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 12-10-09
Пользователь №: 52 882



Структура TMyRect хратит координаты прямоугольников и их площади. Указатель на структуру представляется в виде связного списка. В *R0 записываются координаты прямоугольников прочитанных из файла. *X0 по размеру одинаков с *R0, но пустой - в него и нужно записать отсортированный список *R0. Сколько не пытался - ну никак не получается.
Отсортировать нужно по параметру S(площадь).

Код
struct TMyRect {
int x1,y1,x2,y2;
int S;
TMyRect *point; //point=next
};
TMyRect *R0 = NULL, *Rnew, *Rold, *tmp;//несортированный список
TMyRect *X0 = NULL, *Xnew, *Xold;//сортированный список

void sortirovka () {
//сортировка
Rnew=R0;
Xnew=X0;

while (Rnew!=NULL) {
for (Xnew=X0;Xnew->point!=0;Xnew=Xnew->point) {
  if (Rnew->point->S > Rnew->S) break;        }
  Rnew->point=Xnew->point; Xnew->point=Rnew;

Rnew=Rnew->point;
}
//конец сортировки
}


Сообщение отредактировал rezident - Mar 5 2010, 04:59
Причина редактирования: Оформление цитаты исходника.


--------------------
coding, кодинг, koDinГ, copyriting, printing ....
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AHTOXA
сообщение Mar 5 2010, 06:16
Сообщение #2


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(Sneg_87 @ Mar 5 2010, 09:49) *
Сколько не пытался - ну никак не получается.

Код
void sortirovka ()
{
    Rnew=R0;
    Xnew=X0;    // --- заменить вот это
    X0 = R0;    // --- на вот это. А то X0 как был 0, так и остаётся.
...
}


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 20:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.01374 секунд с 7
ELECTRONIX ©2004-2016