java編程實(shí)現(xiàn)隨機(jī)數(shù)組的快速排序步驟如下:
成都創(chuàng)新互聯(lián)是專業(yè)的豐臺(tái)網(wǎng)站建設(shè)公司,豐臺(tái)接單;提供做網(wǎng)站、網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行豐臺(tái)網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
1、打開Eclipse,新建一個(gè)Java工程,在此工程里新建一個(gè)Java類;
2、在新建的類中聲明一個(gè)產(chǎn)生隨機(jī)數(shù)的Random變量,再聲明一個(gè)10個(gè)長(zhǎng)度的int型數(shù)組;
3、將產(chǎn)生的隨機(jī)數(shù)逐個(gè)放入到數(shù)組中;
4、利用排序算法對(duì)隨機(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]?+?"?");
}
}
}
將數(shù)字從大到小排序的方法:
例如簡(jiǎn)一點(diǎn)的冒泡排序,將第一個(gè)數(shù)字和后面的數(shù)字逐個(gè)比較大小,如果小于,則互換位置,大于則不動(dòng)。此時(shí),第一個(gè)數(shù)為數(shù)組中的最大數(shù)。然后再將第二個(gè)數(shù)與后面的數(shù)逐個(gè)比較,以次類推。
示例代碼如下:?
public?class?Test?{?
public?static?void?main(String[]?args)?{?
int?[]?array?=?{12,3,1254,235,435,236,25,34,23};?
int?temp;?
for?(int?i?=?0;?i??array.length;?i++)?{?
for?(int?j?=?i+1;?j??array.length;?j++)?{?
if?(array[i]??array[j])?{?
temp?=?array[i];?
array[i]?=?array[j];?
array[j]?=?temp; //?兩個(gè)數(shù)交換位置?
}?
}?
}?
for?(int?i?=?0;?i??array.length;?i++)?{?
System.out.print(array[i]+"??");?
}?
}?
}
數(shù)組對(duì)于每一門編程語言來說都是重要的數(shù)據(jù)結(jié)構(gòu)之一,當(dāng)然不同語言對(duì)數(shù)組的實(shí)現(xiàn)及處理也不盡相同。
Java 語言中提供的數(shù)組是用來存儲(chǔ)固定大小的同類型元素。
你可以聲明一個(gè)數(shù)組變量,如 numbers[100] 來代替直接聲明 100 個(gè)獨(dú)立變量 number0,number1,....,number99
擴(kuò)展資料
Java中利用數(shù)組進(jìn)行數(shù)字排序一般有4種方法:
1、選擇排序是先將數(shù)組中的第一個(gè)數(shù)作為最大或最小數(shù),然后通過循環(huán)比較交換最大數(shù)或最小數(shù)與一輪比較中第一個(gè)數(shù)位置進(jìn)行排序。
2、冒泡排序也是先將數(shù)組中的第一個(gè)數(shù)作為最大或最小數(shù),循環(huán)比較相鄰兩個(gè)數(shù)的大小,滿足條件就互換位置,將最大數(shù)或最小數(shù)沉底。
3、快速排序法主要是運(yùn)用Arrays類中的Arrays.sort方法()實(shí)現(xiàn)。
4、插入排序是選擇一個(gè)數(shù)組中的數(shù)據(jù),通過不斷的插入比較最后進(jìn)行排序。
java變成對(duì)數(shù)組進(jìn)行排序可以使用ArraySort方法,保存源數(shù)組下標(biāo)值可以存入map中,如下代碼:
import?java.util.ArrayList;
import?java.util.Arrays;
import?java.util.HashMap;
import?java.util.List;
public?class?ceshi?{
public?static?void?main(String[]?args)?{
int?n?=?5;
int[]?a?=?{?8,?5,?4,?6,?2,?1,?7,?9,?3?};
HashMap?map?=?new?HashMap();
for?(int?i?=?0;?i??a.length;?i++)?{
map.put(a[i],?i);?//?將值和下標(biāo)存入Map
}
//?排列
List?list?=?new?ArrayList();
Arrays.sort(a);?//?升序排列
for?(int?i?=?0;?i??a.length;?i++)?{
list.add(a[i]);
}
for?(Object?object?:?list)?{
System.out.print(object?+?",");
}
System.out.println();
//?查找原始下標(biāo)
for?(int?i?=?0;?i??n;?i++)?{
System.out.print(map.get(a[i])?+?",");
}
}
}
運(yùn)行結(jié)果如下: