8 / 8 / 0
Регистрация: 16.07.2013
Сообщений: 149

Доступ к нужному члену массива после сортировки std::sort

15.09.2020, 09:01. Показов 1605. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую всех.

Допустим, есть у меня массив объектов. Я знаю индекс нужного объекта в массиве, и через этот индекс могу ссылаться на объект.
Сортирую массив посредством std::sort и все, что дальше? Теперь я не знаю где нужный мне объект, так как теперь по его индексу может находится любой другой.

Как правильно поступать в таком случае?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.09.2020, 09:01
Ответы с готовыми решениями:

Использование std::sort() для сортировки числового массива
Выбивает ошибка что sort перегружены #include <iostream> #include <algorithm> using namespace std; int main() { int n,...

std::sort/qSort. Реализация сортировки с заданной функцией сортировки в классе. must use '.*' or '->*' to call
Доброго времени суток. Столкнулся с проблемой. Необходимо отсортировать элементы в списке Qt (то бишь QList). Элементы-структуры...

Алгоритм сортировки std::sort
Какой алгоритм сортировки используется в std::sort? #include <vector> #include <algorithm> int main() { ...

21
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
15.09.2020, 15:01
Студворк — интернет-сервис помощи студентам
А что, массивы указателей уже не "в тренде" ?
например :
C++
1
vector<T*> arr;
и задаем свою функцию сортировки

Добавлено через 14 минут
точнее не сама функция (хотя по желанию можно),
а своя функция сравнения.
для T --> int
C++
1
bool myfunction (int *i,int* j) { return (*i<*j); }
C++
1
std::sort (myvector.begin(), myvector.end(), myfunction);
должно работать
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
15.09.2020, 16:36
Цитата Сообщение от zayats80888 Посмотреть сообщение
Вектор там же хранит. Под массивом я подразумевал непрерывную последовательность, а не класс хранения.
А я подразумевал тип данных. Глядя на код и вспоминая про главу "Массивы и указатели".
Цитата Сообщение от zayats80888 Посмотреть сообщение
Но в вашем сообщении речь шла о эффективности по памяти списка из N объектов vs массива из N объектов + массива из N индексов/указателей.
В моём сообщении, это соображение самое последнее. И...
Цитата Сообщение от IGPIGP Посмотреть сообщение
массив хорошо работает когда он нужен весь и сразу, но ни цента больше.
А список выделяет по кусочку.

Не по теме:

Вектор выделяет с запасом наперёд. Реалокация - враг валидности промежуточных коссвенных элементов доступа, безотносительно к тому итераторы это, индексы или указатели. На мой взгляд, мы уходим от темы)


Цитата Сообщение от SkYMaaN Посмотреть сообщение
Я попытался помочь, а по итогу теперь самому интересно, лишним знанием не будет.
Не будет. Если вы готовы к тому, чтобы решить и не удесятерить объём знаний за день. Тут важно не потянуть мышцу. Височную.
Я, признаться, в какой-то момент решил, что вы и есть ТС. Сейчас увидев ваше
Цитата Сообщение от SkYMaaN Посмотреть сообщение
Я попытался помочь ...
увидел, что это не так. Подождём ТС, тогда.

Добавлено через 6 минут
Цитата Сообщение от SmallEvil Посмотреть сообщение
А что, массивы указателей уже не "в тренде" ?
SmallEvil, там, вначале.
Цитата Сообщение от IGPIGP Посмотреть сообщение
Как вариант решения вопроса - сортировка указателей на элементы массива.
Я когда писал, ещё не видел ответа про индексы (3 минуты разницы, это не много.).
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.09.2020, 16:36

Сравнение алгоритмов сортировки Хоара и std::sort
Собственно в универе было дано задание, написать программу которая принимает на вход из файла в структуру имя - производитель-цена и...

Какой алгоритм сортировки использует std::sort();
Сколько пользуюсь но не знаю как он работает. Читал что сложность этой сортировки примерно О(n*lgn)

Почему стандартная сортировка вектора std::sort намного быстрее сортировки вставками/пузырьком?
Здравствуйте, объясните, пожалуйста, как реализована std::sort. Ясно, что через итераторы, но почему такой сильный выигрыш во времени (1.4...

Сортировка массива c++ std :: sort()
Дан двумерный массив символов char M, надо отсортировать его при помощи std :: sort(), построчно, т.е. допустим было 00011 11111 ...

Сортировка массива структур по выбранному полю с помощью алгоритма std::sort
Не знаю, как правильно передать функцию сравнения в std::sort. Кроме того в моей структуре есть поля одного типа, мне кажется будет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Опции темы

Новые блоги и статьи
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru