Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.util.ArrayList;
- import java.util.Collections;
- public class QuickSort {
- static ArrayList<Integer> list = new ArrayList<Integer>();
- static int ix = 0;
- static int jx = list.size()-1;
- static int threads = 1;
- static boolean swap = false;
- static PrintWriter writer;
- public static void main(String[] args) throws IOException {
- // TODO Auto-generated method stub
- writer = new PrintWriter("output.txt", "UTF-8");
- fillList();
- //sort(ix,jx,jx,ix, 50);
- sort2(ix,jx);
- writer.close();
- }
- public static void fillList(){
- int num;
- for(int i = 0; i < 100; i++){
- num = (int)Math.round(Math.ceil(Math.random()*100));
- list.add(num);
- }
- jx = list.size() - 1;
- writer.println(list);
- //System.out.println(list);
- }
- public static void sort(int i, int j, int max, int min, int pivot) throws IOException{
- //System.out.println(threads);
- //int pivot = list.get((j-i)/2);
- while(!(i>j)){
- if(i == 9){
- break;
- }
- if(list.get(i) >= pivot){
- while(!(i>j)){
- if(list.get(j) <= pivot){
- swap = true;
- break;
- }
- if(j == 0){
- break;
- }
- j--;
- }
- if(swap){
- Collections.swap(list, i, j);
- swap = false;
- }
- }
- i++;
- }
- if(j - min > 0){
- sort(min,j,j,min,list.get(min));
- }
- if(max-i > 0){
- sort(i,max,max,i,list.get(i));
- }
- if(j - min == 0 || max-i == 0 ){
- writer.println(list);
- //System.out.println(list);
- threads --;
- }
- }
- public static void sort2(int i, int j) throws IOException{
- //System.out.println(i);
- int min = i;
- int max = j;
- int pivot = list.get(i);
- i++;
- while(!(i > j)){
- if(list.get(i) >= pivot){
- while(!(i > j)){
- if(list.get(j) <= pivot){
- Collections.swap(list, i, j);
- break;
- }
- j--;
- }
- }
- i++;
- }
- Collections.swap(list, j, min);
- if((max - (j+1)) >= 1){
- sort2(j+1,max);
- }
- if((j-1)-min >= 1 ){
- sort2(min,j-1);
- }
- writer.println(list);
- //System.out.println(list);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement