Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package datastructures;
- import java.util.Arrays;
- /**
- *
- * @author victormmorant
- */
- public class Sortings {
- private final int size;
- private int[] numbers;
- private int[] result;
- public Sortings(int size) {
- this.size = size;
- this.numbers = new int[size];
- this.result = new int[size];
- }
- public void generateTest() {
- for(int i = 0;i<size;i++) {
- int random = (int) (Math.random()*100+1);
- numbers[i] = random;
- result[i] = random;
- }
- }
- public void generateSolution() {
- Arrays.sort(result);
- }
- public void quickSort() {
- partition(0,0,numbers.length);
- }
- public void partition(int pivot,int l, int r) {
- int i = l;
- int j = r;
- while(i<=j) {
- while(numbers[++i] < numbers[pivot]);
- while(numbers[--j] > numbers[pivot]);
- if(i<j)
- swap(i,j);
- }
- swap(pivot,j);
- if(l<j)
- partition(0,l,j);
- if(j<r)
- partition(j+1,j,r);
- }
- public void swap(int i,int j) {
- int aux = numbers[i];
- numbers[i] = numbers[j];
- numbers[j] = aux;
- }
- public String toString() {
- String res = "";
- for(int i = 0;i<numbers.length;i++) {
- res += numbers[i]+" ";
- }
- return res;
- }
- public static void main(String[] args) {
- Sortings s = new Sortings(10);
- s.generateTest();
- s.generateSolution();
- s.quickSort();
- System.out.println(s.toString());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement