本文目錄一覽:
java編程實現隨機數組的快速排序
java編程實現隨機數組的快速排序步驟如下:
1、打開Eclipse,新建一個Java工程,在此工程里新建一個Java類;
2、在新建的類中聲明一個產生隨機數的Random變數,再聲明一個10個長度的int型數組;
3、將產生的隨機數逐個放入到數組中;
4、利用排序演算法對隨機數組進行排序。
具體代碼如下:
import java.util.Random;
public class Demo {
public static void main(String[] args) {
int count = 0;
Random random = new Random();
int a[] = new int[10];
while(count 10){
a[count] = random.nextInt(1000);//產生0-999的隨機數
count++;
}
for (int i = 0; i a.length – 1; i++) {
int min = i;
for (int j = i + 1; j a.length; j++) {
if (a[j] a[min]) {
min = j;
}
}
if (min != i) {
int b = a[min];
a[min] = a[i];
a[i] = b;
}
}
for (int c = 0; c a.length; c++) {
System.out.print(a[c] + ” “);
}
}
}
舉一個簡單java快速排序的例子?
Java中的快速排序一個簡單的例子
public class QuickSort {
public static void sort(Comparable[] data, int low, int high) {
// 樞紐元,一般以第一個元素為基準進行劃分
Comparable pivotKey = data[low];
// 進行掃描的指針i,j;i從左邊開始,j從右邊開始
int i = low;
int j = high;
if (low high) {
// 從數組兩端交替地向中間掃描
while (i j) {
while (i j data[j].compareTo(pivotKey) 0) {
j–; }
// end while
if (i j) {
// 比樞紐元素小的移動到左邊
data[i] = data[j];
i++;
}
// end if
while (i j data[i].compareTo(pivotKey) 0) {
i++;
}
// end while
if (i j) {
// 比樞紐元素大的移動到右邊
data[j] = data[i];
j–;
}
// end if
}
// end while
// 樞紐元素移動到正確位置
data[i] = pivotKey;
// 前半個子表遞歸排序
sort(data, low, i – 1);
// 後半個子表遞歸排序
sort(data, i + 1, high);
}
// end if
}
// end sort
public static void main(String[] args) {
// 在JDK1.5版本以上,基本數據類型可以自動裝箱
// int,double等基本類型的包裝類已實現了Comparable介面
Comparable[] c = { 4, 9, 23, 1, 45, 27, 5, 2 };
sort(c, 0, c.length – 1);
for (Comparable data : c) {
System.out.println(data);
}
}
}
真的是很服你,你把這個新建一個類放裡面
在主方法裡面這樣寫:
自己建個數組Comparable[] data,
定義參數int low, int high
QuickSort qs = new QuickSort();
qs.sort([] data, low, high);
如何用JAVA實現快速排序演算法?
本人特地給你編的代碼\x0d\x0a親測\x0d\x0a\x0d\x0apublicclassQuickSort{\x0d\x0a\x0d\x0apublicstaticintPartition(inta[],intp,intr){\x0d\x0aintx=a[r-1];\x0d\x0ainti=p-1;\x0d\x0ainttemp;\x0d\x0afor(intj=p;jif(a[j-1]//swap(a[j-1],a[i-1]);\x0d\x0ai++;\x0d\x0atemp=a[j-1];\x0d\x0aa[j-1]=a[i-1];\x0d\x0aa[i-1]=temp;\x0d\x0a\x0d\x0a}\x0d\x0a}\x0d\x0a//swap(a[r-1,a[i+1-1]);\x0d\x0atemp=a[r-1];\x0d\x0aa[r-1]=a[i+1-1];\x0d\x0aa[i+1-1]=temp;\x0d\x0a\x0d\x0areturni+1;\x0d\x0a\x0d\x0a}\x0d\x0a\x0d\x0apublicstaticvoidQuickSort(inta[],intp,intr){\x0d\x0a\x0d\x0aif(p
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/270380.html