Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package sortowanko;
- public class Sortowanko {
- public int[] tablica;
- int nElem;
- public Sortowanko(int maxSize) {
- tablica = new int[maxSize];
- }
- public void add(int value) {
- if(nElem >= tablica.length) {
- int[] temp = new int[tablica.length*2];
- for(int i=0; i<nElem; i++) {
- temp[i] = tablica[i];
- }
- tablica = temp;
- }
- tablica[nElem] = value;
- nElem++;
- }
- public int size(){
- return nElem;
- }
- public void print(){
- for(int i=0; i<nElem; i++){
- System.out.print(tablica[i] + " | ");
- }
- System.out.println("");
- }
- public void quickSort(int left,int right) //Sortowanie metoda szybka
- {
- if (left<right)
- {
- int pivot = tablica[left]; //Ustalenie klucza osiowego - PIVOT
- int s=left;
- for (int i=left+1; i<=right; i++)//Zbieranie elementow mniejszych od klucza osiowego po lewej stronie tablicy
- {
- if (tablica[i]<pivot)
- {
- s=s+1;
- swap(s,i);
- }
- }
- swap(left,s); //Zamiana klucza osiowego z elementem najbardziej wysunietym na prawo, mniejszym od klucza osiowego
- quickSort(left,s-1); //Posortowanie elementow mniejszych od klucza osiowego
- quickSort(s+1,right); //Posortowanie elementow wiekszych od klucza osiowego
- }
- }
- private void swap(int one, int two) //Zamiana elementow tablicy
- {
- int temp = tablica[one];
- tablica[one] = tablica[two];
- tablica[two] = temp;
- }
- public static void main(String[] args) {
- Sortowanko sortuj1 = new Sortowanko(2);
- sortuj1.add(6);
- sortuj1.add(2);
- sortuj1.add(10);
- sortuj1.add(-49);
- sortuj1.add(33);
- sortuj1.print();
- System.out.println("==============");
- sortuj1.quickSort(0, sortuj1.size()-1);
- sortuj1.print();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement