Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- template <class OBJ>
- void AlgorytmySortowania<OBJ>::QuickSortRekur(int L, int R)
- {
- int i;
- if(++this->ZA.GlSto > this->ZA.GlStoMax) this->ZA.GlStoMax=this->ZA.GlSto;
- this->ZA.LiPor++;
- if(R>L){
- i=Rozdziel(L,R);
- QuickSortRekur(L,i-1);
- QuickSortRekur(i+1,R);
- }
- this->ZA.GlSto--;
- };
- template <class OBJ>
- void AlgorytmySortowania<OBJ>::QuickSortRekurFactorM(int L, int R,int M){
- int i;
- if(++this->ZA.GlSto>this->ZA.GlStoMax)this->ZA.GlStoMax=this->ZA.GlSto;
- this->ZA.LiPor++;
- if(R-L>M){
- i=Rozdziel(L,R);
- QuickSortRekurFactorM(L,i-1,M);
- QuickSortRekurFactorM(i+1,R,M);
- }else
- PrzezWstawianie2QS(L,R);
- this->ZA.GlSto--;
- };
- template <class OBJ>
- void AlgorytmySortowania<OBJ>::QuickSortRekurMediana(int L, int R,int M){
- int i;
- if(++this->ZA.GlSto>this->ZA.GlStoMax)this->ZA.GlStoMax=this->ZA.GlSto;
- this->ZA.LiPor++;
- if(R-L>M){
- Zamien(this->Dane[(L+R)/2],this->Dane[R-1]);
- ZamienWarunkowo(this->Dane[L],this->Dane[R-1]);
- ZamienWarunkowo(this->Dane[L],this->Dane[R]);
- ZamienWarunkowo(this->Dane[R-1],this->Dane[R]);
- i=Rozdziel(L+1,R-1);
- QuickSortRekurMediana(L,i-1,M);
- QuickSortRekurMediana(i+1,R,M);
- }else
- PrzezWstawianie2QS(L,R);
- this->ZA.GlSto--;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement