冒泡排序算法:
沙坡頭網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,沙坡頭網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為沙坡頭成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個(gè)售后服務(wù)好的沙坡頭做網(wǎng)站的公司定做!
int類型的數(shù)組:3 1 6 2 5
第一次循環(huán):
1 3 6 2 5
1 3 6 2 5
1 3 2 6 5
1 3 2 5 6
第二次循環(huán):
1 3 2 5
1 2 3 5
1 2 3 5
第三次循環(huán):
1 2 3
1 2 3
。。。
算法:取出最大的放在最后,下次就不用比較最后一個(gè)了。*/
public?class?BubbleSort{
public?static?void?main(String[]?args){
int[]?a?=?{3,1,6,2,5};
//開始排序
for(int?i=a.length-1;i0;i--){
for(int?j=0;ji;j++){
if(a[j]a[j+1]){
//交換位置
int?temp;
temp?=?a[j];
a[j]?=?a[j+1];
a[j+1]?=?temp;
}
}
}
//遍歷
for(int?i=0;ia.length;i++){
System.out.println(a[i]);
}
}
}
/**?
*des:冒泡排序算法的一般性策略:搜索整個(gè)值列,比較相鄰元素,如果兩者的相對次序不對,?
*則交換它們,其結(jié)果是最大值“想水泡一樣”移動(dòng)到值列的最后一個(gè)位置上,?
*這也是它在最終完成排序的值列中合適的位置。?
*然后再次搜索值列,將第二大的值移動(dòng)至倒數(shù)第二個(gè)位置上,重復(fù)該過程,直至將所有元素移動(dòng)到正確的位置上。?
*2014-4-9-zbl?
**/??
public?class?BubbleSort?{??
/**?
*?@param?args?
*/??
public?static?void?main(String[]?args)?{??
//?TODO?Auto-generated?method?stub??
Comparable?[]a={4,9,23,1,45,27,5,2};??
bubbleSort1(a);??
Comparable?[]b={4,9,23,1,45,27,5,2};??
bubbleSort2(b);??
int?[]c={4,9,23,1,45,27,5,2};??
bubbleSort3(c);??
}??
public?static?void?bubbleSort3(int?[]data)??
{??
int?temp;??
for?(int?i?=?0;?i??data.length;?i++)?{??
int?flag?=?0;??
for?(int?j?=?0;?j??data.length-i-1;?j++)?{??
if?(data[j]data[j+1])?{??
temp=data[j];??
data[j]=data[j+1];??
data[j+1]=temp;??
flag?=?1;??
}??
}??
if(flag==0)break;??
System.out.print("第"+i+"遍:{");??
for?(int?k?=?0;?k??data.length;?k++)?{??
System.out.print(data[k]+",");??
}??
System.out.println("}");??
}??
}??
public?static?void?bubbleSort1(Comparable?[]data)??
{??
Comparable?temp;??
for?(int?position?=?data.length-1;?position?=0;?position--)?{??
int?flag?=?0;??
for?(int?scan?=?0;?scan??position;?scan++)?{??
if(data[scan].compareTo(data[scan+1])0){??
temp?=?data[scan];??
data[scan]?=?data[scan+1];??
data[scan+1]?=?temp;??
flag?=?1;??
}??
}??
if?(flag==0)?{??
break;??
}??
System.out.print("第"+position+"遍:{");??
for?(int?i?=?0;?i??data.length;?i++)?{??
System.out.print(data[i]+",");??
}??
System.out.println("}");??
}??
}??
public?static?void?bubbleSort2(Comparable?[]data)??
{??
Comparable?temp;??
for?(int?position?=?0;?position??data.length-1;?position++)?{??
int?flag?=?0;??
for?(int?scan?=?0;?scan??data.length-1-position;?scan++)?{??
if(data[scan].compareTo(data[scan+1])0){??
temp?=?data[scan];??
data[scan]?=?data[scan+1];??
data[scan+1]?=?temp;??
flag?=?1;??
}??
}??
if?(flag==0)?{??
break;??
}??
System.out.print("第"+position+"遍:{");??
for?(int?i?=?0;?i??data.length;?i++)?{??
System.out.print(data[i]+",");??
}??
System.out.println("}");??
}??
}??
}
純手工,隨意寫的,希望對你有幫助??!
public class MaoPao{
//定義一個(gè)整形數(shù)組
int[] a = new int[10];
//中間數(shù)
int flag = 0;
//g給數(shù)組賦值
a = {14,12,21,52,36,78,45,31,33,98};
//判斷
for(int i=0;ia.length;i++){
for(int j=i+1;ia.length;i++){
//交換位置,最大的放第一個(gè)
if(a[i]a[j]){
flag = a[i];
a[i] = a[j];
a[j] = a[i];
}
}
}
//輸出數(shù)組
for(int i=0;ia.length;i++){
System.out.println(a[i]);
}
}