免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

java語言排序代碼 java程序排序

java冒泡排序代碼

冒泡排序(Bubble Sort)是一種簡單的排序算法。它重復(fù)地走訪過要排序的數(shù)列,一次比較兩個(gè)元素,如果他們的順序錯(cuò)誤就把他們交換過來。走訪數(shù)列的工作是重復(fù)地進(jìn)行直到?jīng)]有再需要交換,也就是說該數(shù)列已經(jīng)排序完成。這個(gè)算法的名字由來是因?yàn)樵叫〉脑貢?huì)經(jīng)由交換慢慢“浮”到數(shù)列的頂端。

為湘潭縣等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及湘潭縣網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站制作、成都做網(wǎng)站、湘潭縣網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

冒泡排序算法的運(yùn)作如下:

比較相鄰的元素。如果第一個(gè)比第二個(gè)大,就交換他們兩個(gè)。

對每一對相鄰元素作同樣的工作,從開始第一對到結(jié)尾的最后一對。在這一點(diǎn),最后的元素應(yīng)該會(huì)是最大的數(shù)。

針對所有的元素重復(fù)以上的步驟,除了最后一個(gè)。

持續(xù)每次對越來越少的元素重復(fù)上面的步驟,直到?jīng)]有任何一對數(shù)字需要比較。

public?class?BubbleSort{??

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

int?score[]?=?{67,?69,?75,?87,?89,?90,?99,?100};??

for?(int?i?=?0;?i??score.length?-1;?i++){????//最多做n-1趟排序??

for(int?j?=?0?;j??score.length?-?i?-?1;?j++){????//對當(dāng)前無序區(qū)間score[0......length-i-1]進(jìn)行排序(j的范圍很關(guān)鍵,這個(gè)范圍是在逐步縮小的)??

if(score[j]??score[j?+?1]){????//把小的值交換到后面??

int?temp?=?score[j];??

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

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

}??

}??????????????

System.out.print("第"?+?(i?+?1)?+?"次排序結(jié)果:");??

for(int?a?=?0;?a??score.length;?a++){??

System.out.print(score[a]?+?"\t");??

}??

System.out.println("");??

}??

System.out.print("最終排序結(jié)果:");??

for(int?a?=?0;?a??score.length;?a++){??

System.out.print(score[a]?+?"\t");??

}??

}??

}

java中排序算法代碼

package temp;

import sun.misc.Sort;

/**

* @author zengjl

* @version 1.0

* @since 2007-08-22

* @Des java幾種基本排序方法

*/

/**

* SortUtil:排序方法

* 關(guān)于對排序方法的選擇:這告訴我們,什么時(shí)候用什么排序最好。當(dāng)人們渴望先知道排在前面的是誰時(shí),

* 我們用選擇排序;當(dāng)我們不斷拿到新的數(shù)并想保持已有的數(shù)始終有序時(shí),我們用插入排序;當(dāng)給出的數(shù)

* 列已經(jīng)比較有序,只需要小幅度的調(diào)整一下時(shí),我們用冒泡排序。

*/

public class SortUtil extends Sort {

/**

* 插入排序法

* @param data

* @Des 插入排序(Insertion Sort)是,每次從數(shù)列中取一個(gè)還沒有取出過的數(shù),并按照大小關(guān)系插入到已經(jīng)取出的數(shù)中使得已經(jīng)取出的數(shù)仍然有序。

*/

public int[] insertSort(int[] data) {

1/11頁

int temp;

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

for (int j = i; (j 0) (data[j] data[j - 1]); j--) {

swap(data, j, j - 1);

}

}

return data;

}

/**

* 冒泡排序法

* @param data

* @return

* @Des 冒泡排序(Bubble Sort)分為若干趟進(jìn)行,每一趟排序從前往后比較每兩個(gè)相鄰的元素的大小(因此一趟排序要比較n-1對位置相鄰的數(shù))并在

* 每次發(fā)現(xiàn)前面的那個(gè)數(shù)比緊接它后的數(shù)大時(shí)交換位置;進(jìn)行足夠多趟直到某一趟跑完后發(fā)現(xiàn)這一趟沒有進(jìn)行任何交換操作(最壞情況下要跑n-1趟,

* 這種情況在最小的數(shù)位于給定數(shù)列的最后面時(shí)發(fā)生)。事實(shí)上,在第一趟冒泡結(jié)束后,最后面那個(gè)數(shù)肯定是最大的了,于是第二次只需要對前面n-1

* 個(gè)數(shù)排序,這又將把這n-1個(gè)數(shù)中最小的數(shù)放到整個(gè)數(shù)列的倒數(shù)第二個(gè)位置。這樣下去,冒泡排序第i趟結(jié)束后后面i個(gè)數(shù)都已經(jīng)到位了,第i+1趟實(shí)

* 際上只考慮前n-i個(gè)數(shù)(需要的比較次數(shù)比前面所說的n-1要小)。這相當(dāng)于用數(shù)學(xué)歸納法證明了冒泡排序的正確性

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語言:對包含5個(gè)元素的一維數(shù)組用冒泡法進(jìn)行排序,編程實(shí)現(xiàn)并輸出排序后的結(jié)果。

代碼:

public class test {

private static void sort(Integer arr[], int n) {

if (n = 1) return; ? ? ? //如果只有一個(gè)元素就不用排序了

for (int i = 0; i n; ++i) {

// 提前退出冒泡循環(huán)的標(biāo)志位,即一次比較中沒有交換任何元素,這個(gè)數(shù)組就已經(jīng)是有序的了

boolean flag = false;

for (int j = 0; j n - i - 1; ++j) { ? ? ? ?//此處你可能會(huì)疑問的jn-i-1,因?yàn)槊芭菔前衙枯喲h(huán)中較大的數(shù)飄到后面,

// 數(shù)組下標(biāo)又是從0開始的,i下標(biāo)后面已經(jīng)排序的個(gè)數(shù)就得多減1,總結(jié)就是i增多少,j的循環(huán)位置減多少

if (arr[j] arr[j + 1]) { ? ? ? ?//即這兩個(gè)相鄰的數(shù)是逆序的,交換

int temp = arr[j];

arr[j] = arr[j + 1];

arr[j + 1] = temp;

flag = true;

}

}

if (!flag) break;//沒有數(shù)據(jù)交換,數(shù)組已經(jīng)有序,退出排序

}

}

public static void main(String[] args) {

Integer arr[] = {2, 6, 3, 67, 54};

sort(arr, arr.length);

System.out.println("冒泡排序后的數(shù)組為");

for (Integer i : arr) {

System.out.println(i);

}

}

}

java排序代碼

整數(shù)轉(zhuǎn)成字符串后排序。import java.util.Arrays;import java.util.Collections;import java.util.List;public class Test { public static void main(String[] args) { List list = Arrays.asList("1", "10", "12", "3", "2", "4", "5"); Collections.sort(list); System.out.println(Arrays.toString(list.toArray())); }}

請用java語言編寫排序程序。

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

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語言排序代碼 java程序排序
URL標(biāo)題:http://m.newbst.com/article6/higdog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站搜索引擎優(yōu)化軟件開發(fā)網(wǎng)站制作微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站