Russian Qt Forum
Ноябрь 27, 2024, 00:40 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 2 [3]   Вниз
  Печать  
Автор Тема: QList + qSort  (Прочитано 24808 раз)
ритт
Гость
« Ответ #30 : Март 02, 2010, 14:20 »

моё мнение - это фэйк Улыбающийся
зато, когда (тьфу-тьфу) какой-нибудь гнусный суперсофтмегагруп потребует с нокии деньгу за то, что, мол, в кутэ куски их патентованного кода, нокия ответит: "хрен вам! мы сканируем все сторонние контрибуции нашей (полу-)автоматизированной системой на предмет патентных ограничений и вашего кода ни разу не видели" Улыбающийся

с другой стороны, контора серьёзная и не стала бы (наверное) тратить ресурсы на фэйк, но я в упор не понимаю одного - если я работаю в какой-нибудь фирмочке, плодящей закрытые программные продукты, КАК нокия проверит, что моя контрибуция не содержит кусков кода из какого-нибудь из этих-самых закрытых программных продуктов? правильный ответ - никак...
Записан
udovolstvie
Гость
« Ответ #31 : Март 02, 2010, 15:03 »

Здравствуйте, коллеги.
У меня есть еще такой интересный вопрос.
Я использую qSort на массиве точек. Точка описана классом Point.
Point (float x, float y, float z);
если в операторе "<" выполняется следующее дествие:
return (x<rh.x);
То все отлично. Массив точек упорядочивается по x.
Если оператор выполняет следующее действие:
return (x<rh.x && y<rh.y && z<rh.z); или return (x<rh.x && y<rh.y);
То массив не сортируется вообще никак. То есть он сортируется, выборочно, кусками. И не правильно при этом.
Может быть, здесь есть какой то прикол???
Записан
shadone
Гость
« Ответ #32 : Март 02, 2010, 15:35 »

return (x<rh.x && y<rh.y && z<rh.z); или return (x<rh.x && y<rh.y);
То массив не сортируется вообще никак. То есть он сортируется, выборочно, кусками. И не правильно при этом.
Может быть, здесь есть какой то прикол???
"прикол" в том что это совершенно неверно.
попробуйте подумать как отсортировать например (5,0) и (4, 1).
Записан
ритт
Гость
« Ответ #33 : Март 02, 2010, 16:38 »

ddenis, +1 Улыбающийся

/* запостить на бор, что ли?)) */
Записан
udovolstvie
Гость
« Ответ #34 : Март 02, 2010, 16:42 »

все верно. должно быть false. согласен, результат будет негодный. но он же (результат) должен быть!
а вот (5, 0) и (4, -1) должны быть упорядочены. Однако, даже этого не происходит.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #35 : Март 02, 2010, 23:30 »

Здравствуйте, коллеги.
У меня есть еще такой интересный вопрос.
Я использую qSort на массиве точек. Точка описана классом Point.
Point (float x, float y, float z);
если в операторе "<" выполняется следующее дествие:
return (x<rh.x);
То все отлично. Массив точек упорядочивается по x.
Если оператор выполняет следующее действие:
return (x<rh.x && y<rh.y && z<rh.z); или return (x<rh.x && y<rh.y);
То массив не сортируется вообще никак. То есть он сортируется, выборочно, кусками. И не правильно при этом.
Может быть, здесь есть какой то прикол???
Я делаю так
Код:
bool Point::operator < ( const Point & sec ) const
{
// первый ключ x
  if (x < sec.x) return true;
  if (x > sec.x) return false;

// второй ключ y
  if (y < sec.y) return true;
  if (y > sec.y) return false;

// третий ключ z
  if (z < sec.z) return true;
  return false;
}
Записан
udovolstvie
Гость
« Ответ #36 : Март 03, 2010, 11:56 »

Спасибо, Igors!
Записан
niXman
Гость
« Ответ #37 : Март 03, 2010, 14:37 »

долго наблюдал за этой темой. не удержался Подмигивающий
http://www.boost.org/doc/libs/1_42_0/doc/html/intrusive/intrusive_vs_nontrusive.html

зы
старая добрая программерская мудрость гласит: все уже написано.
Записан
Страниц: 1 2 [3]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.071 секунд. Запросов: 23.