int heapSize - индекс свободной ячейки.
void insert(int x) {
if (heapSize >= array.size()) {
throw Exception("Heap overflow");
}
array[heapSize] = x;
++heapSize;
}
int min() {
return minLinearSearch(array);
}
int extractMin() {
delIndex = minLinearSearch(array);
swap(delIndex, array[LAST_ELEMENT_INDEX]);
delete array[LAST_ELEMENT_INDEX];
}
Последние 2 строчки - делаем так, т.к. элемент может быть в середине, а сдвигать массив (n операций) не очень хотелось бы.