5 template<
class T>
inline void HeapSort(T *c,
long n){
36 if (j>r){c[i]=crit;
break;}
37 if ((j<r) && (c[j] < c[j+1])) j++;
38 if (crit < c[j]) c[i]=c[j];
39 else{c[i]=crit;
break;}
46 template<
class T>
inline void HeapSort(
int** porder,T* c,
int n){
62 for(i=0;i<n;i++) order[i]=i;
68 crit =c[r]; pos=order[r];
69 c[r--]=c[1]; order[r+1]=order[1];
71 c[1]=crit; order[1]=pos;
77 else {crit=c[--l]; pos=order[l];}
82 if (j>r) {c[i]=crit;order[i]=pos;
break;}
83 if ((j<r) && (c[j] < c[j+1]))j++;
89 c[i]=crit;order[i]=pos;