百度快速排名软件案例 快速排名软件案例

Java 快速排序法的实例!input java.util.*;
public class a {
public static void main(String[] args){
int [] a = new int[5,4,7,12,6,78,24,1];
Arrays.sort(a);
System.out.println("排序后:");
for(int index=0; index<a.length;i++){
System.out.println(a[index]);
}public class SortDemo {
public static void main(String[] args) {
//初始化变量
int[] arrayOfInts = { 1,5,9,8,11,4,12,13};
//循环整个数组
for (int i = arrayOfInts.length; --i >= 0;) {
//循环每个数字
for (int j = 0; j < i; j++) {
if (arrayOfInts[j] > arrayOfInts[j + 1]) {
//将两个数字的位置进行对调
int temp = arrayOfInts[j];
arrayOfInts[j] = arrayOfInts[j + 1];
arrayOfInts[j + 1] = temp;
//循环整个数组
for (int i = 0; i < arrayOfInts.length; i++) {
System.out.print(arrayOfInts[i] + " ");//每个数字后加一个空格
System.out.println();//一行结束
【百度快速排名软件案例 快速排名软件案例】

百度快速排名软件案例 快速排名软件案例

文章插图
谁能举个快速排序的实例!例如 4,1,3,2,6,5,7,每次使用序列的第一个元素做枢轴 。比较总次数为10次,交换3次,具体如下:
第一次枢轴为4,序列划分为{2,1,3},4,{6,5,7}
比较6次(4与每个元素比较一次),交换1次(4与2交换)
第二次的两个序列枢轴分别为2和6,此时划分序列得{1},2,{3},4,{5},6,{7}
比较4次(两个序列各比较两次),交换两次(1和2,6和5)
第三次由于各个序列的元素都为1,因此排序完成得1,2,3,4,5,6,7//快速排序(交换排序),不稳定,时间复杂度nlog2n,空间复杂度log2n
class quicksort{
public static void quicksort(int[] array,int low,int high){
if(low>=high){//递归出口
return;
}
int index=array[low];//设置key进行划分
int i=low;
int j=high;
while(iarray[i]){//判断左边元素
i++;
}
array[j]=array[i];
}
array[i]=index;
quicksort(array, low, i-1);//进行递归
quicksort(array, i+1, high);
}