От: | olimp200 | ||
Дата: | 28.10.14 17:34 | ||
Оценка: | -1 |
typedef int duration_t;//время
typedef int identifier_t;//номер корабля
typedef std::pair<duration_t, identifier_t> ship_t; // для лексикографического порядка - длительность должна быть доминантной, т.е. первой компонентой
ship_t make_ship(identifier_t id, duration_t dur) { return ship_t(dur,id); } //создание пары
identifier_t ship_id(ship_t ship) { return ship.second; } //возврат номера корабля
std::vector<ship_t> ships; //вектор для хранения пар
Так в действительности и получается.Оператор сравнения для пар уже определён, а кроме того, если есть корабли с равной длительностью, то они упорядочатся по возрастанию номеров.
std::pair
struct