00001 00005 class VecSort(Type) : public virtual VecSimple(Type) 00006 00007 { 00008 public: 00009 VecSort(Type) (); 00010 VecSort(Type) (int length); 00011 VecSort(Type) (const VecSort(Type)& X); 00012 ~VecSort(Type) () {} 00013 00014 VecSort(Type)& operator = (const Type& value) { fill(value); return (*this);} 00015 VecSort(Type)& operator = (const VecSort(Type)& X); 00016 00017 bool operator == (const VecSort(Type)& X); 00018 bool operator != (const VecSort(Type)& X); 00019 00020 bool operator < (const VecSort(Type)& X); 00021 bool operator > (const VecSort(Type)& X); 00022 bool operator <= (const VecSort(Type)& X); 00023 bool operator >= (const VecSort(Type)& X); 00024 00025 Type maxValue () const; 00026 Type minValue () const; 00027 Type maxValue (int& i) const; 00028 Type minValue (int& i) const; 00029 Type select (int k); 00030 Type select (int k, int n); 00031 00032 void heapsort (); 00033 void heapsort (int n); 00034 void mixedheapsort (); 00035 void mixedheapsort (int n); 00036 void quicksort (); 00037 void quicksort (int n); 00038 void makeIndex (VecSimple(int)& index) const; 00039 void sortAccording2index (const VecSimple(int)& index); 00040 00041 }; 00042 00043