日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[javaSE] 数组(排序-冒泡排序)

發布時間:2024/9/21 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [javaSE] 数组(排序-冒泡排序) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

兩層嵌套循環,外層控制循環次數,內層循環進行比較

for(int x=0;x<arr.length-1;x++){for(int y=0;y<arr.length;y++){if(arr[y]>arr[y+1]){}}}

?

此時的代碼有問題,內層循環多比較了已經排好序的部分,都在最后面,需要去掉

for(int x=0;x<arr.length-1;x++){for(int y=0;y<arr.length-x;y++){if(arr[y]>arr[y+1]){}}}

?

此時的代碼有問題,內層循環最后一個元素,無法和它后面的比較,應該去掉

for(int x=0;x<arr.length-1;x++){for(int y=0;y<arr.length-x-1;y++){if(arr[y]>arr[y+1]){}}}

?

?

判斷完后,兩個變量交換位置,利用第三方變量

for(int x=0;x<arr.length-1;x++){for(int y=0;y<arr.length-x-1;y++){if(arr[y]>arr[y+1]){int temp=arr[y];arr[y]=arr[y+1];arr[y+1]=temp;}}}

?

java版:

public class ArrayDemo {/*** @param args*/public static void main(String[] args) {int[] arr=new int[]{2,5,4,1};int[] newArr=bubbleSort(arr);for(int x:newArr){System.out.print(x);}}/*** 冒泡排序(正序)* @param arr* @return*/public static int[] bubbleSort(int[] arr){for(int x=0;x<arr.length-1;x++){for(int y=0;y<arr.length-x-1;y++){if(arr[y]>arr[y+1]){int temp=arr[y];arr[y]=arr[y+1];arr[y+1]=temp;}}}return arr;} }

PHP版:

<?php class ArrayDemo{public static function main(){$arr=array(2,5,4,1);print_r(ArrayDemo::bubbleSort($arr));//輸出 Array ( [0] => 1 [1] => 2 [2] => 4 [3] => 5 ) }/*** 冒泡排序(正序)* @param arr* @return*/public static function bubbleSort($arr){for($x=0;$x<count($arr)-1;$x++){for($y=0;$y<count($arr)-$x-1;$y++){if($arr[$y]>$arr[$y+1]){$temp=$arr[$y];$arr[$y]=$arr[$y+1];$arr[$y+1]=$temp;}}}return $arr;}}ArrayDemo::main();

?

?

選擇排序和冒泡排序性能都很低,提高性能的方法,當需要換位置的時候,先不換,先把需要換位置的角標放到棧內存中,等最后一次性在堆內存中交換

排序中最快的是 希爾排序

總結

以上是生活随笔為你收集整理的[javaSE] 数组(排序-冒泡排序)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。