Параметры функций

166
12 июня 2018, 09:10

Я хочу хочу понять какие параметры нужны в c++ в функции push_heap().Если можете объясните всё простым языком.

Answer 1

На сайте cppreference есть пример - https://en.cppreference.com/w/cpp/algorithm/push_heap

Если кратко - нужно просто два Random итератора на начало и конец контейнера, в котором нужно сделать средующее. Первые элементы - это уже готовый хип, а самый последний элемент - это "вставляемый", который пока не на своем месте. И эта функция поставит его "на место".

Пример, скопированный.

#include <iostream>
#include <algorithm>
#include <vector>
int main()
{
    // исходный вектор
    std::vector<int> v { 3, 1, 4, 1, 5, 9 };
    // сделали хип
    std::make_heap(v.begin(), v.end());
    // распечатали
    std::cout << "v: ";
    for (auto i : v) std::cout << i << ' ';
    std::cout << '\n';
    // добавили элемент для "добавления"
    v.push_back(6);
    // снова вывели, что бы показать
    std::cout << "before push_heap: ";
    for (auto i : v) std::cout << i << ' ';
    std::cout << '\n';
    // исправили, переместив последний элемент на свое место.
    std::push_heap(v.begin(), v.end());
    // и снова вывели
    std::cout << "after push_heap: ";
    for (auto i : v) std::cout << i << ' ';
    std::cout << '\n';
}
READ ALSO
Возврат из функции и её вызов в С++

Возврат из функции и её вызов в С++

Имею 2 функции (различий меж ними нет, практически) Правильно ли я выполняю из них возврат? И как правильно их нужно вызывать в main (между массивами,...

196
Ассемблер. Ассемблерные вставки. Строки

Ассемблер. Ассемблерные вставки. Строки

Как копировать одну строку в другуюНапример, строка text1[6]="fsdfaf" копируется в text2[6]={0}

202
Как сделать отображение чата на Qt

Как сделать отображение чата на Qt

Есть база данных в которой хранятся все сообщения, сервер их подгружает, но возникла проблема в визуализации этих же сообщенийТо есть нужен...

178
Как прочитать 64 битное значение?

Как прочитать 64 битное значение?

Мне надо поместить информацию об ELF в структуру заголовка, при этом поля труктуры являются 64 битными значениямиКогда я пробую их прочитать...

235