public class MySort {

在河間等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),營(yíng)銷型網(wǎng)站建設(shè),外貿(mào)網(wǎng)站建設(shè),河間網(wǎng)站建設(shè)費(fèi)用合理。
public static void main(String[] args) {
MySort sort = new MySort();??????????? int[] arr? = new int[]{ };??????????? sort sort(arr);??????????? for(int i : arr){??????????????? System out print(i+ );??????????? }??????? }
public void sort(int[] targetArr){//小到大的排序
int temp = ;??????????? for(int i = ;itargetArr length;i++){??????????????? for(int j = i;jtargetArr length;j++){
if(targetArr[i]targetArr[j]){
/*//方法一 ??????????????????????? temp = targetArr[i];??????????????????????? targetArr[i] = targetArr[j];??????????????????????? targetArr[j] = temp;
//方法二:??????????????????????? targetArr[i] = targetArr[i] + targetArr[j];??????????????????????? targetArr[j] = targetArr[i] targetArr[j];??????????????????????? targetArr[i] = targetArr[i] targetArr[j];*/
//方法三 ??????????????????????? targetArr[i] = targetArr[i]^targetArr[j];??????????????????????? targetArr[j] = targetArr[i]^targetArr[j];??????????????????????? targetArr[i] = targetArr[i]^targetArr[j];
}
}??????????? }??????? }
}??? 測(cè)試 ??? //拿 位來(lái)表示吧(正規(guī) 位)??? Java代碼
int a = b = ;????????????? a = a + b;// ????????????? b = a b;// ????????????? a = a b;// = ???????????? System out println(a+ ? +b);???? //**********************************************************???????????? int c= ;// ???????????? int d= ;// ???????????? c=c^d;// ?? ???????????? System out println(c);???????????? d=c^d;// ?? ???????????? c=c^d;// ??
lishixinzhi/Article/program/Java/hx/201311/25774
冒泡排序(Bubble Sort)是一種簡(jiǎn)單的排序算法。它重復(fù)地走訪過要排序的數(shù)列,一次比較兩個(gè)元素,如果他們的順序錯(cuò)誤就把他們交換過來(lái)。走訪數(shù)列的工作是重復(fù)地進(jìn)行直到?jīng)]有再需要交換,也就是說該數(shù)列已經(jīng)排序完成。這個(gè)算法的名字由來(lái)是因?yàn)樵叫〉脑貢?huì)經(jīng)由交換慢慢“浮”到數(shù)列的頂端。
冒泡排序算法的運(yùn)作如下:
比較相鄰的元素。如果第一個(gè)比第二個(gè)大,就交換他們兩個(gè)。
對(duì)每一對(duì)相鄰元素作同樣的工作,從開始第一對(duì)到結(jié)尾的最后一對(duì)。在這一點(diǎn),最后的元素應(yīng)該會(huì)是最大的數(shù)。
針對(duì)所有的元素重復(fù)以上的步驟,除了最后一個(gè)。
持續(xù)每次對(duì)越來(lái)越少的元素重復(fù)上面的步驟,直到?jīng)]有任何一對(duì)數(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++){????//對(duì)當(dāng)前無(wú)序區(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");??
}??
}??
}
冒泡排序是比較經(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++){
//交換位置
} ? ?
參考資料:冒泡排序原理
方法一:
package
basic.javastu;
public
class
NumberTest
{
/**
*
實(shí)現(xiàn)冒泡程序1
*/
public
static
void
main(String[]
args)
{
//
TODO
Auto-generated
method
stub
int[]
numb=new
int[]{3,42,57,1,32,24};
int
len=numb.length;
int
i,j;
int
temp;
System.out.println("排序前的數(shù)組各個(gè)值:");
for(i=0;ilen;i++)
{
System.out.print(numb[i]+"\t");
}
System.out.println("\n");
for(i=1;i=len;i++)
{
for(j=len-1;j=1;j--)
{
if(numb[j]numb[j-1])
{
temp=numb[j];
numb[j]=numb[j-1];
numb[j-1]=temp;
}
}
}
System.out.println("排序后的數(shù)組各個(gè)值:");
for(i=0;ilen;i++)
{
System.out.print(numb[i]+"\t");
}
}
}
方法二:
package
basic.javastu;
public
class
NumberTest2
{
/**
*
實(shí)現(xiàn)冒泡程序2
*/
public
static
void
main(String[]
args)
{
//
TODO
Auto-generated
method
stub
int[]
numb=new
int[]{3,42,57,1,32,24};
int
leng=numb.length;
System.out.println("排序前的數(shù)組各個(gè)值:");
for(int
i=0;ileng;i++)
{
System.out.print(numb[i]+"\t");
}
System.out.println("\n");
swap(numb);
System.out.println("數(shù)組排序后:");
for(int
i=0;ileng;i++)
{
System.out.print(numb[i]+"\t");
}
}
private
static
int[]
swap(int[]
numb)
{
int
n2[]=numb;
int
len=n2.length;
int
i,j;
int
temp;
for(i=1;i=len;i++)
{
for(j=len-1;j=1;j--)
{
if(n2[j]n2[j-1])
{
temp=n2[j];
n2[j]=n2[j-1];
n2[j-1]=temp;
}
}
}
return
n2;
}
}
方法三:
package
basic.javastu;
public
class
NumberTest3
{
/**
*
實(shí)現(xiàn)冒泡程序2
*/
public
static
void
main(String[]
args)
{
//
TODO
Auto-generated
method
stub
int[]
numb=new
int[]{3,42,57,1,32,24};
int
leng=numb.length;
System.out.println("排序前的數(shù)組各個(gè)值:");
for(int
i=0;ileng;i++)
{
System.out.print(numb[i]+"\t");
}
System.out.println("\n");
swap(numb);
System.out.println("數(shù)組排序后:");
for(int
i=0;ileng;i++)
{
System.out.print(numb[i]+"\t");
}
}
private
static
void
swap(int[]
numb)
{
int
len=numb.length;
int
i,j;
int
temp;
for(i=1;i=len;i++)
{
for(j=len-1;j=1;j--)
{
if(numb[j]numb[j-1])
{
temp=numb[j];
numb[j]=numb[j-1];
numb[j-1]=temp;
}
}
}
}
}
本文標(biāo)題:冒泡算法java代碼 冒泡法的代碼
轉(zhuǎn)載注明:http://chinadenli.net/article40/ddgseho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、商城網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)