11#include <stdio.h>
22#include <stdlib.h>
33
4- void insertInHeap (int * n , int HT [], int eleman ) {
4+ void insertInHeap (int * n , int HT [], int eleman )
5+ {
56 int tmp , i ;
67 HT [++ * n ] = eleman ;
78 i = * n ;
89 int parent = (i - 1 )/2 ;
9- while ( (i >= 0 )&& (HT [parent ] > HT [i ]) ) {
10+ while ( (i >= 0 )&& (HT [parent ] > HT [i ]) )
11+ {
1012 tmp = HT [parent ];
1113 HT [parent ] = HT [i ];
1214 HT [i ] = tmp ;
@@ -15,8 +17,10 @@ void insertInHeap(int *n, int HT[], int eleman) {
1517 }
1618}
1719
18- int findSmallestChild (int n , int HT [], int i ) {
19- if (n > 2 * i + 2 ) {
20+ int findSmallestChild (int n , int HT [], int i )
21+ {
22+ if (n > 2 * i + 2 )
23+ {
2024 if ( HT [2 * i + 1 ] > HT [2 * i + 2 ])
2125 return 2 * i + 1 ;
2226 else
@@ -29,13 +33,15 @@ int findSmallestChild(int n, int HT[], int i) {
2933
3034}
3135
32- void removeMin (int * n , int HT [] ) {
36+ void removeMin (int * n , int HT [] )
37+ {
3338 int tmp , i = 0 , adr ;
3439 tmp = HT [0 ];
3540 HT [0 ] = HT [* n ];
3641 HT [* n -- ] = tmp ;
3742 adr = findSmallestChild (* n , HT , i );
38- while (( adr ) && (HT [i ] > HT [ adr ])) {
43+ while (( adr ) && (HT [i ] > HT [ adr ]))
44+ {
3945 tmp = HT [i ];
4046 HT [i ] = HT [adr ];
4147 HT [adr ] = tmp ;
@@ -44,10 +50,12 @@ void removeMin(int *n, int HT[] ) {
4450 }
4551}
4652
47- void downHeap (int HT [], int i , int n ) {
53+ void downHeap (int HT [], int i , int n )
54+ {
4855 int tmp , adr ;
4956 adr = findSmallestChild (n , HT , i );
50- while (( adr ) && (HT [i ] > HT [ adr ])) {
57+ while (( adr ) && (HT [i ] > HT [ adr ]))
58+ {
5159 tmp = HT [i ];
5260 HT [i ] = HT [adr ];
5361 HT [adr ] = tmp ;
@@ -56,15 +64,6 @@ void downHeap(int HT[], int i, int n) {
5664 }
5765}
5866
59- void heapSort (int n , int HT []) {
60- int i ; //, tmp;
61- for (i = n - 1 ; i >= 0 ; i -- ) {
62- /*tmp = HT[0];
63- HT[0] = HT[i];
64- HT[i] = tmp;*/
65- downHeap (HT , i , n );
66- }
67- }
6867
6968int main (int argc , char * * argv )
7069{
0 commit comments