Mam klasę o takiej budowie:
#ifndef VECTOR_H_
#define VECTOR_H_
#include <iostream>
#include <iterator>
template <class Type>
class Vector {
Type *tab;
size_t rozmiar;
public:
void sortuj(); //wywoluje funkcje sortuj_algorytm
void sortuj_algorytm(Type *tab, int lewy, int prawy); //funkcja rekurencyjna
};
template<class Type>
void Vector<Type>::sortuj() {
sortuj_algorytm(tab, 0, (rozmiar - 1));
}
template<class Type>
void Vector<Type>::sortuj_algorytm(Type *tab, int lewy, int prawy) {
if (prawy <= lewy) return;
int i = lewy - 1, j = prawy + 1,
pivot = tab[(lewy + prawy) / 2];
while (1)
{
while (pivot>tab[++i]);
while (pivot<tab[--j]);
if (i <= j) {
int temp = tab[i];
tab[i] = tab[j];
tab[j] = temp;
}
else
break;
}
if (j > lewy)
sortuj_algorytm(tab, lewy, j);
if (i < prawy)
sortuj_algorytm(tab, i, prawy);
}
Chciałbym posortować int *tab wykorzystując coś, co się nazywa RandomAccessIterator, z czym nie miałem do tej pory do czyniena, więc poprosiłbym o pomoc w implementacji tego.