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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Случай сортировки  (Прочитано 6019 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Август 11, 2011, 13:50 »

Добрый день

В контейнере были такие строки
Цитировать
SectionX
SectionB
SectionC
SectionA
Потом в хвост добавились еще строки, напр
Цитировать
SectionX
SectionB
SectionC
SectionA
SectionB 2
SectionC 2
SectionB 3
Теперь надо получить
Цитировать
SectionX
SectionB
SectionB 2
SectionB 3
SectionC
SectionC 2
SectionA

Конечно проблема невеликая но как сделать покороче?

Спасибо
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Август 11, 2011, 13:52 »

Добавлять не в хвост?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Август 11, 2011, 13:55 »

Добавлять не в хвост?
Так "уплывут" индексы элементов что хранятся в др структурах
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Август 11, 2011, 13:56 »

При сортировке тоже уплывут.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #4 : Август 11, 2011, 14:31 »

При сортировке тоже уплывут.
Поэтому сначала я добавляю в хвост, завершаю все свои дела, и когда индексы уже никому не нужны - хочу рассортировать
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Август 11, 2011, 14:36 »

А в чем сложность с сортировкой? Покажи как делаешь, помозгуем.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
SimpleSunny
Гость
« Ответ #6 : Август 11, 2011, 14:50 »

Контейнер - это вектор?
Какое количество элементов в контейнере, и сколько добавляется элементов?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #7 : Август 11, 2011, 15:14 »

А в чем сложность с сортировкой? Покажи как делаешь, помозгуем.
В том что нетранзитивно: должно быть если a < b < c, то a < c, а так определить не получается

Контейнер - это вектор?
Какое количество элементов в контейнере, и сколько добавляется элементов?
Пишу ini файл, секции следуют в обычном (стандартном) порядке. По ходу дела может оказаться что есть "еще секции" (с теми же форматом данных но др. именами). Сделать в лоб не проблема, напр
Код
C++ (Qt)
void Sort( vector <string> & src )
{
 vector <string> dst;
 vector <bool> flag;
 flag.resze(src.size());
 
 for (size_t i = 0; i < src.size(); ++i) {
  if (flag[i]) continue;
  dst.push_back(src[i]);
  for (size_t j = i + 1; j < src.size(); ++j) {
   if (src[j].pos(src[i] + " ") == 0) {
    dst.push_back[src[j]];
    flag[j] = true;
   }
  }
 }
 src = dst;
}
 
Ну а если вместо ini файла будут серьезные данные ?
« Последнее редактирование: Август 11, 2011, 15:16 от Igors » Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #8 : Август 11, 2011, 15:22 »

На сколько много данных может быть?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #9 : Август 11, 2011, 16:16 »

На сколько много данных может быть?
Ну это не "мозгование" а "как обойти" - я об этом не спрашивал  Улыбающийся
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #10 : Август 11, 2011, 17:18 »

Сходил в магазин - и по дороге придумалось. Там все просто, даже сортировка не нужна

Edit: прошу прощения если (невольно) обманул кого-то. "Сортировка не нужна"  не значит что изложенное в посте #1 больше не нужно. Задача остается та же, просто это решается намного проще и быстрее без сортировки
« Последнее редактирование: Август 11, 2011, 19:10 от Igors » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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