Реализации алгоритмов/Двоичная куча: различия между версиями
Содержимое удалено Содержимое добавлено
Ermishin (обсуждение | вклад) Новая страница: «{{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]);
|