Подтвердить что ты не робот

Как сохранить пару чисел в С++?

Я пытаюсь изучить С++, и сейчас я пишу программу, которая должна выводить список пар целых чисел.

Каков наилучший способ справиться с этим? У меня нет библиотеки boost, доступной на наших Linux-компьютерах в школе, поэтому я не верю, что могу использовать boost:: tuple.

Любые предложения?

4b9b3361

Ответ 1

Посмотрите std::pair<object, object>

EDIT:

Это стандартный С++ и часть того, что известно как STL (стандартная библиотека шаблонов). Это набор хороших структур данных, которые являются универсальными (т.е. Могут использоваться для хранения любого типа объекта С++). Эта конкретная структура используется для хранения "кортежа" или пары чисел вместе. Это в основном объект с членами "первым" и "вторым", который ссылается на первый и второй объекты (любого типа!), Которые вы храните в них.

Так просто объявите массив pair<int, int> или, еще лучше, используйте другой тип STL, называемый "vector", чтобы создать список pair<int, int>: vector<pair<int, int> > myList с динамическим размером.

Эй, что ты знаешь! Список пар с динамическим размером уже существует и называется картой! Использование его так же просто, как #include <map> и объявление map<int, int> myMap!!!

ИЗМЕНИТЬ:

Да, как указано, карта хорошо "отображает" один объект в другой, поэтому вы не можете иметь повторяющиеся значения на стороне левого края. Если это хорошо, то карта - это то, что вы ищете, в противном случае придерживайтесь вектора пары.... или посмотрите на мультиплексы.

std::map, std::multimap p >

Ответ 2

Использовать std:: pair?

#include <utility>
#include <iostream>

int main() {
    std::pair <int, int> p = std::make_pair( 1, 2 );
    std::cout << p.first << " " << p.second << std::endl;
}

Вы можете создать вектор пар:

typedef std::pair <int, int> IntPair;

...

std::vector <IntPair> pairs;
pairs.push_back( std::make_pair( 1, 2 ) );
pairs.push_back( std::make_pair( 3, 4 ) );

Ответ 3

В то время как std:: pair - лучший подход к использованию, я удивлен, что никто не упоминал о пред-stl-решении:

struct Pair {
    int first;
    int second;
};

Озабоченность вызывает то, что люди думают, что им нужна стимуляция для такой тривиальной проблемы.