Реализации алгоритмов/Двоичная куча: различия между версиями

Содержимое удалено Содержимое добавлено
Новая страница: «{{wikipedia|Двоичная куча}} == C++ == <source lang="cpp"> #include <vector> #include <exception> using namespace std; // здесь и далее: // ...»
 
Строка 41:
 
void Heap_Increase_Key(vector<int>& A, size_t length, size_t i, int key) {
A[i] = key;
if (key < A[i])
throw exception("Новый ключ меньше предыдущего");
A[i] = key;
while (i > 0 && A[(i-1)/2] < A[i]) {
swap(A[(i-1)/2], A[i]);