Hello

Code:

Code:#include "stdio.h" #include "conio.h" void heap(int a[], int, int n); void sort(int a[], int n); int main() { const int n = 8; int a<img src="/emoticons/emotion-45.gif" alt="No [N]" /> = {88, 66, 77, 33, 55, 44, 22, 99}; int i; clrscr(); sort(a, n); for(i = 0; i ); getch(); return 0; } //*************** void sort(int a[], int n) { int i, t; for(i = n/2 - 1; i >= 0; i--) heap(a, i, n); for(i = n - 1; i > 0; i--) { t = a[0]; a[0] = a<img src="/emoticons/emotion-55.gif" alt="Idea [I]" />; a<img src="/emoticons/emotion-55.gif" alt="Idea [I]" /> = t; heap(a, 0, i); } } //*************** void heap(int a[], int k, int n) { int t, j; t = a[k]; while(k a[j]) break; a[k] = a[j]; k = j; } a[k] = t; }

It is said:

In array ,Leaves are saved in a<img src="/emoticons/emotion-45.gif" alt="No [N]" />..a[n/2],Why?

And it is said:

So first loop in sort () ,runs on a[0] ...a[n/2-1].Why?

May someoen explain about the second loop?

Thanks in advance