Во-первых, вы можете задаться вопросом: Зачем вам нужно иметь два измерения, просто создайте два одномерных массива.
Ну, вот моя задача: пользователь вводит число запросов, а затем для каждого запроса он вводит идентификатор задачи, для ID = 0 мне нужно использовать первый массив ([] [0]) и для ID = 1 второй, было бы намного красивее, чтобы сделать это без утверждения (if (ID == 0)...blablabla
).
Конечно, есть способ сделать это с помощью алгоритмов сортировки (пузырь, быстро ...), но я как бы любопытно: можно ли это сделать с помощью функции std::sort();
?
Спасибо.
P.s. Вот краткий пример, чтобы уточнить:Сортируйте двухмерную матрицу без касания второго измерения
Я так сожалею, чтобы дать такой плохой пример, который я, м собирается изменить это, первый здесь идет данные, которые у меня есть
2 1
14 5
5 7
3 45 `
поэтому мне нужно сортировать это следующим образом:
2 1
3 5
5 7
14 45
так, когда запросы вводятся, например, идентификатор = 1 число = 2 только выход array[2][1];
Похоже, вам нужен мультимап, а не 2d-массив. – NathanOliver
Я не уверен, что буду следовать за вами вопросами. Вы хотите знать, можете ли вы сортировать функцию sort()? Конечно вы можете. Проверьте это [ссылка] (http://www.cplusplus.com/reference/algorithm/sort/). –
['std :: multimap'] (http://en.cppreference.com/w/cpp/container/multimap) (с ключом' int' и значением 'int') почти наверняка вы хотите использовать здесь как он по сути сортируется по ключевым словам и обеспечивает поиск логарифмической сложности. – ArchbishopOfBanterbury