Wielokrotne sortowanie, a pamięć

0

Witam
Chciałem zbadać czasy różnych sortowań, w tym celu do każdego sortowania chciałem liczyć średni czas z kilku wykonań przy losowych danych i przy danych ilościach elementów. I tu moje pytanie, jak powinienem czyścić pamięć po każdym sortowaniu, by te czasy się nie wydłużały ze względu na zajętą pamięć? Chciałbym ponownie losować liczby i ponownie je posortować zachowując z poprzedniego sortowania jedynie czas do średnie.
Tak wygląda jedna z funkcji losowania i sortowania

 const int N=50000;
int tab[N],i;

void los(int N, int tab[])
{
     srand(time(0));
     for(int i=0; i<N; i+=1)
     {tab[i]=rand()%10;}
     }

void pokaz(int N, int tab[])
{
     for(int i=1;i<N;i+=1)
     {cout<<tab[i];}

}

void Heapify(int tab[], int i, int N)
{
    int l,r,largest,pom;
    l=2*i;
    r=(2*i)+1;

    if ( (l<=N) && (tab[l]>tab[i]) ) largest=l;
    else largest=i;

    if ( (r<=N) && (tab[r]>tab[largest]) ) largest=r;

    if  (largest!=i)
    {
        pom=tab[i];
        tab[i]=tab[largest];
        tab[largest]=pom;
        Heapify(tab,largest,N);
    }
}


void BuildHeap(int tab[])
{
    for(i=N/2; i>=1; i-=1)
    {
        Heapify(tab,i,N);
    }
}


void HeapSort(int tab[])
{
    int i,heapsize,pom;
    BuildHeap(tab);
    heapsize=N;

    for(i=N; i>=2; i-=1)
    {
        pom=tab[1];
        tab[1]=tab[i];
        tab[i]=pom;

        heapsize-=1;
        Heapify(tab,1,heapsize);
    }
}

Czy mogę liczyć na jakieś w miarę proste do zaimplementowania rozwiązanie?

0

nie, tylko dla każdego sortowania przekazuj ten sam seed do srand() wtedy każde sortowanie będzie mieć ten sam zestaw danych do posortowania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1