import java.lang.*;
import java.io.*;
public class PaiXu {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println("please input an array(5):");
try{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int []a=new int[5];
for(int i=0;i<5;i++){
a[i]=Integer.parseInt(br.readLine());
}
//bubbleSort(a); //sort used by bubble
//selectSort(a); //sort used by select
quickSort(a,0,a.length-1); //sort used by quick
System.out.println("排序后的顺序如下:");
for(int i=0;i<5;i++){
System.out.println(a[i]);
}
}catch(IOException ex){}
}
static void bubbleSort(int []a){
for(int i=0;i<a.length;i++){
boolean flag=true;
for(int j=1;j<a.length-i;j++)
if(a[j-1]>a[j]){
int temp=a[j-1];
a[j-1]=a[j];
a[j]=temp;
flag=false;
}
if(flag)break;
}
}
static void selectSort(int []a){
for(int i=0;i<a.length;i++){
int index=0;
for(int j=0;j<a.length-i;j++){
if(a[index]<a[j])index=j;
}
if(index!=a.length-i-1){
int temp=a[a.length-i-1];
a[a.length-i-1]=a[index];
a[index]=temp;
}
}
}
static void quickSort(int[] pData,int left,int right){
int i,j;
int iTemp;
int middle;
i = left;
j = right;
middle = pData[(left+right)/2];
do{
while((pData[i]<middle) && (i<right))
i++;
while((pData[j]>middle) && (j>left))
j--;
if(i<=j)
{
iTemp = pData[i];
pData[i] = pData[j];
pData[j] = iTemp;
i++;
j--;
}
}while(i<=j);//如果两边扫描的下标交错,就停止(完成一次)
if(left<j)
quickSort(pData,left,j);
if(right>i)
quickSort(pData,i,right);
}
}
import java.io.*;
public class PaiXu {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println("please input an array(5):");
try{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int []a=new int[5];
for(int i=0;i<5;i++){
a[i]=Integer.parseInt(br.readLine());
}
//bubbleSort(a); //sort used by bubble
//selectSort(a); //sort used by select
quickSort(a,0,a.length-1); //sort used by quick
System.out.println("排序后的顺序如下:");
for(int i=0;i<5;i++){
System.out.println(a[i]);
}
}catch(IOException ex){}
}
static void bubbleSort(int []a){
for(int i=0;i<a.length;i++){
boolean flag=true;
for(int j=1;j<a.length-i;j++)
if(a[j-1]>a[j]){
int temp=a[j-1];
a[j-1]=a[j];
a[j]=temp;
flag=false;
}
if(flag)break;
}
}
static void selectSort(int []a){
for(int i=0;i<a.length;i++){
int index=0;
for(int j=0;j<a.length-i;j++){
if(a[index]<a[j])index=j;
}
if(index!=a.length-i-1){
int temp=a[a.length-i-1];
a[a.length-i-1]=a[index];
a[index]=temp;
}
}
}
static void quickSort(int[] pData,int left,int right){
int i,j;
int iTemp;
int middle;
i = left;
j = right;
middle = pData[(left+right)/2];
do{
while((pData[i]<middle) && (i<right))
i++;
while((pData[j]>middle) && (j>left))
j--;
if(i<=j)
{
iTemp = pData[i];
pData[i] = pData[j];
pData[j] = iTemp;
i++;
j--;
}
}while(i<=j);//如果两边扫描的下标交错,就停止(完成一次)
if(left<j)
quickSort(pData,left,j);
if(right>i)
quickSort(pData,i,right);
}
}