快速排序的偽代碼。
創(chuàng)新互聯(lián)主營秦都網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都App定制開發(fā),秦都h5小程序開發(fā)搭建,秦都網(wǎng)站營銷推廣歡迎秦都等地區(qū)企業(yè)咨詢
/
/使用快速排序方法對a[
:n-
1
]排序
把余下的元素分割為兩段left
和r
i
g
h
t,使得l
e
f
t中的元素都小于等于支點(diǎn),而right
中的元素都大于等于支點(diǎn)
排序的方法有:插入排序(直接插入排序、希爾排序),交換排序(冒泡排序、快速排序),選擇排序(直接選擇排序、堆排序),歸并排序,分配排序(箱排序、基數(shù)排序)
快速排序的偽代碼。
/
/使用快速排序方法對a[
:n-
1
]排序
從a[
:n-
1
]中選擇一個(gè)元素作為m
i
d
d
l
e,該元素為支點(diǎn)
把余下的元素分割為兩段left
和r
i
g
h
t,使得l
e
f
t中的元素都小于等于支點(diǎn),而right
中的元素都大于等于支點(diǎn)
遞歸地使用快速排序方法對left
進(jìn)行排序
遞歸地使用快速排序方法對right
進(jìn)行排序
所得結(jié)果為l
e
f
t
+
m
i
d
d
l
e
+
r
i
g
h
t
java編程實(shí)現(xiàn)隨機(jī)數(shù)組的快速排序步驟如下:
1、打開Eclipse,新建一個(gè)Java工程,在此工程里新建一個(gè)Java類;
2、在新建的類中聲明一個(gè)產(chǎn)生隨機(jī)數(shù)的Random變量,再聲明一個(gè)10個(gè)長度的int型數(shù)組;
3、將產(chǎn)生的隨機(jī)數(shù)逐個(gè)放入到數(shù)組中;
4、利用排序算法對隨機(jī)數(shù)組進(jìn)行排序。
具體代碼如下:
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);//產(chǎn)生0-999的隨機(jī)數(shù)
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]?+?"?");
}
}
}