quicksort


//QUICKSORT

//data : 22.03.2002

#include <iostream.h>

#include <conio.h> //getch()

#include <stdlib.h> //randomize()

const N = 30;

int tab[N];

void wyswietl(int *, int);

void zamien(int &, int &);

void QuickSort( int*, int, int);

int partition(int *, int, int);

void main()

{

randomize();

for (int i=0; i<=N-1; i++)

{

tab[i] = random(N);

}

wyswietl(tab,N);

QuickSort(tab,0,N-1);

wyswietl(tab, N);

}

void wyswietl(int *t,int n)

{

cout << endl;

for (int i=0; i<=n-1; i++)

{

cout << t[i] << " ";

}

getch();

}

void zamien(int &x,int &y)

{

int temp=x;

x=y;

y=temp;

}

void QuickSort(int *t, int p, int k)

{

if (p < k)

{

int q = partition(t, p, k);

QuickSort(t,p,q);

QuickSort(t,q+1,k);

}

}

int partition(int *t, int p, int k)

{

int x = t[p];

int i = p-1;

int j = k+1;

while (1>0)

{

do

{

j--;

} while (t[j] > x);

do

{

i++;

} while (t[i] < x);

if (i < j)

{

zamien(t[i],t[j]);

}

else return j;

}

}



Wyszukiwarka

Podobne podstrony:
Quicksort
EFAS QuickstartPL
obe lucid dream quickstart exe
31 Sortowanie szybkie (Quicksor Nieznany (2)
DSP2833x HeaderFiles QuickStart Readme
QuickStart
4 skrypty-quickscript
MAXTOR DiamondMax 10, diamondmax10 ata quickspecs
hordes quickstart
f28335 ezdsp quickstartguide
Kindle Sales Krusher QuickStart Guide
FAP 420FAH 420A QuickSelectionGuide plPL T7177478411
quickstudy first aid
2 Using VTS QuickStart
Instr obslugi Datalogic QuickScanI v03 20100310
DSP2833x HeaderFiles QuickStart Readme
QuickStudy Japanese Vocabulary
OBDPro USB Scantool Quickstart Guide
Instr obslugi Datalogic QuickScanL v03 20100309

więcej podobnych podstron