一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java冒泡排序實現代碼怎么寫

Java冒泡排序實現代碼怎么寫

2023-05-09 01:06未知服務器之家 Java教程

這篇文章主要介紹“Java冒泡排序實現代碼怎么寫”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Java冒泡排序實現代碼怎么寫”文章能幫助大家解決問題。 何為冒泡排序 冒泡:就

這篇文章主要介紹“Java冒泡排序實現代碼怎么寫”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Java冒泡排序實現代碼怎么寫”文章能幫助大家解決問題。

何為冒泡排序

冒泡:就像氣泡從水中冒出來一樣

在冒泡排序中,最小數或最大數取決于您是按升序還是降序對數組進行排序,向上冒泡到數組的開頭或結尾。

算法描述:

  • 比較相鄰的元素。如果第一個比第二個大,就交換它們兩個;

  • 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最后一對,這樣在最后的元素應該會是最大的數;

  • 針對所有的元素重復以上的步驟,除了最后一個;

  • 重復步驟1~3,直到排序完成。

Java冒泡排序實現代碼怎么寫

如果兩個元素相等,不會再交換位置,所以冒泡排序是一種穩定排序算法。

代碼實現:

數組排序

????/*
???????對數組a中的元素進行排序
????*/
????public?static?void?sort(Comparable[]?a){
????????for(int?i=a.length-1;i>0;i--){
????????????for(int?j=0;j<i;j++){
????????????????//{6,5,4,3,2,1}
????????????????//比較索引j和索引j+1處的值
????????????????if?(greater(a[j],a[j+1])){
????????????????????exch(a,j,j+1);
????????????????}
????????????}
????????}
????}

比較v元素是否大于w元素

????private?static??boolean?greater(Comparable?v,Comparable?w){
????????return?v.compareTo(w)>0;
????}

數組元素i和j交換位置

????private?static?void?exch(Comparable[]?a,int?i,int?j){
????????Comparable?temp;
????????temp?=?a[i];
????????a[i]=a[j];
????????a[j]=temp;
????}

排序類

????public?static?void?bubbleSort(int[]?data)?{
????????int?arrayLength?=?data.length;
????????for?(int?i?=?1;?i?<?arrayLength;?i++)?{//第i次排序
????????????for?(int?j?=?0;?j?<?arrayLength?-?i;?j++)?{//從索引為j的數開始
????????????????if?(data[j]?>?data[j?+?1])?{?//相鄰元素兩兩對比
????????????????????int?temp?=?data[j?+?1];??//?元素交換
????????????????????data[j?+?1]?=?data[j];
????????????????????data[j]?=?temp;
????????????????}
????????????}
????????????System.out.println("第"?+?i?+?"次排序:\n"?+?java.util.Arrays.toString(data));
????????}
????}

完整代碼:

	public?class?BubbleSort?{
????public?static?void?bubbleSort(int[]?data)?{
????????	????????int?arrayLength?=?data.length;
????????	????????for?(int?i?=?1;?i?<?arrayLength;?i++)?{//第i次排序
????????	????????????for?(int?j?=?0;?j?<?arrayLength?-?i;?j++)?{//從索引為j的數開始
????????	????????????????if?(data[j]?>?data[j?+?1])?{?//相鄰元素兩兩對比
????????	????????????????????int?temp?=?data[j?+?1];??//?元素交換
????????	????????????????????data[j?+?1]?=?data[j];
????????	????????????????????data[j]?=?temp;
????????	????????????????}
????????	????????????}
????????	????????????System.out.println("第"?+?i?+?"次排序:\n"?+?java.util.Arrays.toString(data));
????????	????????}
????????	????}
????????	????public?static?void?main(String[]?args)?{
????????	????????int[]?data?=?{3,?44,?38,?5,?47,?15,?36,?26,?27,?2,?46,?4,?19,?50,?48};
????????	????????System.out.println("排序之前:\n"?+?java.util.Arrays.toString(data));
????????	????????bubbleSort(data);
????????	????????System.out.println("排序之后:\n"?+?java.util.Arrays.toString(data));
????????	????}
????????	}

排序之前:

[3, 44, 38, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48]

第1次排序:

[3, 38, 5, 44, 15, 36, 26, 27, 2, 46, 4, 19, 47, 48, 50]

第2次排序:

[3, 5, 38, 15, 36, 26, 27, 2, 44, 4, 19, 46, 47, 48, 50]

第3次排序:

[3, 5, 15, 36, 26, 27, 2, 38, 4, 19, 44, 46, 47, 48, 50]

第4次排序:

[3, 5, 15, 26, 27, 2, 36, 4, 19, 38, 44, 46, 47, 48, 50]

第5次排序:

[3, 5, 15, 26, 2, 27, 4, 19, 36, 38, 44, 46, 47, 48, 50]

第6次排序:

[3, 5, 15, 2, 26, 4, 19, 27, 36, 38, 44, 46, 47, 48, 50]

第7次排序:

[3, 5, 2, 15, 4, 19, 26, 27, 36, 38, 44, 46, 47, 48, 50]

第8次排序:

[3, 2, 5, 4, 15, 19, 26, 27, 36, 38, 44, 46, 47, 48, 50]

第9次排序:

[2, 3, 4, 5, 15, 19, 26, 27, 36, 38, 44, 46, 47, 48, 50]

第10次排序:

[2, 3, 4, 5, 15, 19, 26, 27, 36, 38, 44, 46, 47, 48, 50]

第11次排序:

[2, 3, 4, 5, 15, 19, 26, 27, 36, 38, 44, 46, 47, 48, 50]

第12次排序:

[2, 3, 4, 5, 15, 19, 26, 27, 36, 38, 44, 46, 47, 48, 50]

第13次排序:

[2, 3, 4, 5, 15, 19, 26, 27, 36, 38, 44, 46, 47, 48, 50]

第14次排序:

[2, 3, 4, 5, 15, 19, 26, 27, 36, 38, 44, 46, 47, 48, 50]

排序之后:

[2, 3, 4, 5, 15, 19, 26, 27, 36, 38, 44, 46, 47, 48, 50]

Process finished with exit code 0

關于“Java冒泡排序實現代碼怎么寫”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注***行業資訊頻道,小編每天都會為大家更新不同的知識點。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 午夜理论电影在线观看亚洲 | 美女扒开胸罩露出奶 | 日韩精品中文字幕视频一区 | 亚洲欧美乱| 国模娜娜a4u1546全套 | 黑人日白人 | 美女把腿开让我 | 国产麻豆剧果冻传媒观看免费视频 | www.最色| 国产精品微拍 | 日本高清视频在线观看 | 东北老妇露脸xxxxx | 国产日韩欧美在线一二三四 | 性欧美video| 亚洲国产精品牛在线 | 亚洲国产精品综合一区在线 | 日韩欧美一级大片 | 操美女骚b | 国色天香社区视频免费高清在线观看 | yy111111影院理论大片 | 小草高清视频免费直播 | 国产在线精品观看 | 人人九九 | 亚洲春色综合另类网蜜桃 | 欧美人xxxxxbbbb | 蜜桃视频在线观看www | 办公室恋情在线观看 | 91搞搞| 含羞草国产亚洲精品岁国产精品 | 色帝国亚洲欧美在线蜜汁tv | 性奶乳妇 | 91精品国产一区 | 日本免费v片一二三区 | 国内自拍网红在综合图区 | 4hu永久地域网名入口 | 免费毛片大全 | 2012在线观看免费视频大全 | 亚洲视频在线观看免费 | 精品一区二区三区五区六区七区 | 亚洲天堂网站在线 | 欧美一级二级片 |