void min_heapify(int[] array, int i, int len) { var l = i * 2; var r = i + 1; var tmp = 0; var m = i; if (l < len) { if (array[l] > array[m]) { m = l; } } if (r < len) { if (array[r] > array[m]) { m = r; } } if (m != i) { tmp = array[i]; array[i] = array[m]; array[m] = tmp; min_heapify(array, m, len); } return; } void make_min_heap(int[] array, int len) { for (var i = len; i >= 1; i = i - 1;) { min_heapify(array, i, len); } return; } int program(int argc, string[] argv) { var array = new int[]{ 0, 9, 1, 2, 8, 10, 7, 3, 6, 4, 5 }; var end_result = new int[]{ 0, 1, 4, 2, 8, 5, 7, 3, 6, 9, 10 }; make_min_heap(array, 10); var same = 0; for (var i = 0; i < 11; i = i + 1;) { if (array[i] != end_result[i]) { same = 1; } } return same; }