真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

排序代碼java 排序代碼JAVA

請(qǐng)用java語言編寫排序程序。

參考代碼如下,可以按需求自己修改

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、美蘭網(wǎng)絡(luò)推廣、小程序定制開發(fā)、美蘭網(wǎng)絡(luò)營銷、美蘭企業(yè)策劃、美蘭品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供美蘭建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com

import?java.util.Date;

public?class?SortThread?{

public?static?void?main(String[]?args)?{

//產(chǎn)生一個(gè)隨機(jī)數(shù)組

int[]?ary?=?getArray();

//啟動(dòng)冒泡排序線程

new?Thread(new?MaoPao(ary)).start();

//啟動(dòng)快速排序線程

new?Thread(new?KuaiSu(ary)).start();

}

private?static?int[]?getArray()?{

//建議數(shù)字n不要超過1百萬,十萬左右就好了

int?n?=?(int)?(Math.random()*1000000)+11;

int[]?ary=?new?int[n];

System.out.println("n的值是"?+?n);

for?(int?i?=?0;?i??ary.length;?i++)?{

ary[i]?=?(int)?(Math.random()*100000);

}

return?ary;

}

}

//冒泡排序

class?MaoPao?implements?Runnable?{

int[]?ary;

public?MaoPao(int[]?ary)?{

this.ary?=?ary;

}

@Override

public?void?run()?{

long?st?=?System.currentTimeMillis();

System.out.println(new?Date()?+?"冒泡排序線程:開始執(zhí)行排序");

for?(int?i?=?0;?i??ary.length?-?1;?i++)?{

for?(int?j?=?0;?j??ary.length?-?i?-?1;?j++)?{

if?(ary[j]??ary[j?+?1])?{

int?temp?=?ary[j];

ary[j]?=?ary[j?+?1];

ary[j?+?1]?=?temp;

}

}

}

long?et?=?System.currentTimeMillis();

System.out.println(new?Date()?+?"冒泡排序線程完成排序,耗費(fèi)時(shí)間"?+?(et?-?st)?+?"毫秒");

for?(int?i?=?0;?i??ary.length;?i++)?{

System.out.println(ary[i]+"?");

}

}

}

//快速排序

class?KuaiSu?implements?Runnable?{

int[]?ary;

public?KuaiSu(int[]?ary)?{

this.ary?=?ary;

}

@Override

public?void?run()?{

long?st?=?System.currentTimeMillis();

System.out.println(new?Date()?+?"快速排序線程:開始執(zhí)行排序");

quickSort(ary,?1,?ary.length);

long?et?=?System.currentTimeMillis();

System.out.println(new?Date()?+?"快速排序線程排序完成,耗費(fèi)時(shí)間"?+?(et?-?st)?+?"毫秒");

for?(int?i?=?0;?i??ary.length;?i++)?{

System.out.println(ary[i]+"?");

}

}

public?static?int?Partition(int?a[],?int?p,?int?r)?{

int?x?=?a[r?-?1];

int?i?=?p?-?1;

int?temp;

for?(int?j?=?p;?j?=?r?-?1;?j++)?{

if?(a[j?-?1]?=?x)?{

i++;

temp?=?a[j?-?1];

a[j?-?1]?=?a[i?-?1];

a[i?-?1]?=?temp;

}

}

temp?=?a[r?-?1];

a[r?-?1]?=?a[i?+?1?-?1];

a[i?+?1?-?1]?=?temp;

return?i?+?1;

}

public?static?void?quickSort(int?a[],?int?p,?int?r)?{

if?(p??r)?{

int?q?=?Partition(a,?p,?r);

quickSort(a,?p,?q?-?1);

quickSort(a,?q?+?1,?r);

}

}

}

java怎么讓數(shù)組的數(shù)字從大到小排序?

將數(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程序排序

自己寫的三種傳統(tǒng)排序法??炫欧ㄖ饕亲约阂矝]怎么搞明白……

(你可以建數(shù)組來存數(shù)據(jù),就不寫完整的了。)

public void insert(int[] a3) {//插入排序法

// TODO Auto-generated method stub

System.out.println("插入法");

int temper=0;

for(int i=1;ia3.length;i++){

for(int j=i;j0;j--){

if(a3[j]a3[j-1]){

temper=a3[j];

a3[j]=a3[j-1];

a3[j-1]=temper;

}else break;

}

}

}

//插入排序法完

//選擇排序法

public void select(int[] a2) {

// TODO Auto-generated method stub

System.out.println("選擇排序法");

int temper=0;

for (int i = 0; i a2.length-1; i++) {

int min = a2[i];

int minFoot = i;

for (int j = i + 1; j a2.length; j++) {

if (min a2[j]) {

min=a2[j];

minFoot=j;

}

}

temper=a2[i];

a2[i]=min;

a2[minFoot]=temper;

}

}

//選擇排序法完

//冒泡排序法

public void Bubbling(int[] a1) {

System.out.println("冒泡排序法");

int temper = 0;

for (int i = 0; i a1.length - 1; i++) {

for (int j = 0; j a1.length - 1 - i; j++) {

if (this.a1[j] this.a1[j + 1]) {

temper = a1[j];

a1[j] = a1[j + 1];

a1[j + 1] = temper;

}

}

}

}

//冒泡排序法完

java冒泡排序法代碼

冒泡排序是比較經(jīng)典的排序算法。代碼如下:

for(int i=1;iarr.length;i++){

for(int j=1;jarr.length-i;j++){

//交換位置

} ? ?

拓展資料:

原理:比較兩個(gè)相鄰的元素,將值大的元素交換至右端。

思路:依次比較相鄰的兩個(gè)數(shù),將小數(shù)放在前面,大數(shù)放在后面。即在第一趟:首先比較第1個(gè)和第2個(gè)數(shù),將小數(shù)放前,大數(shù)放后。然后比較第2個(gè)數(shù)和第3個(gè)數(shù),將小數(shù)放前,大數(shù)放后,如此繼續(xù),直至比較最后兩個(gè)數(shù),將小數(shù)放前,大數(shù)放后。重復(fù)第一趟步驟,直至全部排序完成。

第一趟比較完成后,最后一個(gè)數(shù)一定是數(shù)組中最大的一個(gè)數(shù),所以第二趟比較的時(shí)候最后一個(gè)數(shù)不參與比較;

第二趟比較完成后,倒數(shù)第二個(gè)數(shù)也一定是數(shù)組中第二大的數(shù),所以第三趟比較的時(shí)候最后兩個(gè)數(shù)不參與比較;

依次類推,每一趟比較次數(shù)-1;

??

舉例說明:要排序數(shù)組:int[]?arr={6,3,8,2,9,1};?

for(int i=1;iarr.length;i++){

for(int j=1;jarr.length-i;j++){

//交換位置

} ? ?

參考資料:冒泡排序原理


本文名稱:排序代碼java 排序代碼JAVA
文章來源:http://weahome.cn/article/dodjsdp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部