quick.java

来自「用c编写的数据内部排序方法,可在窗口中选择多种排序方法,如快排,冒泡,折半插入等」· Java 代码 · 共 57 行

JAVA
57
字号
package main.algorithm;

import java.awt.*;
import javax.swing.*;
import main.Gracie;

public class Quick extends Gracie{ 
	
	public Quick(){
		setBackground(Color.white);
		new Thread(this).start();
	}
	
	public String getName(){
		return "快排";
	}
	public String getCommand(){
		return "Quick";
	}
	
	public void sort(){
		quickSort(0,array.length-1);
	}
	
	public void quickSort(int j, int i){//递归快排
		int pivotloc;
		if(j<i && start){
			if((pivotloc=quick_partition(j,i))!=i)//将array[]一分为二
				quickSort(pivotloc+1,i);
			quickSort(j,pivotloc-1);
			
		}
	}
	
	public int quick_partition(int j, int i){ 
		int pivot;
		pivot=array[j];
		//		try{
		//draw(-1,j,-1);	
		while(j<i && start){
			while( j<i && array[i]>=pivot && start) i--;
			exchange(i,j);
			//			Thread.sleep(sleep);
			
			while( j<i && array[j]<=pivot && start) j++;
			exchange(i,j);
			//		Thread.sleep(sleep);
		}
		//	Thread.sleep(sleep);
		//	repaint();
		//	}
		//	catch(InterruptedException e){e.printStackTrace();}
		return j;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?