大家好,欢迎来到IT知识分享网。
思路:
1、首先在第一轮排序中,数组从第一个元素到倒数第二个元素依次与其右边的元素进行比较,如果左边的元素大于右边的元素,那么两个元素就互换。
2、经过第一轮比较,最大的元素就已经存储到数组最右边的结点中了。
3、第二轮排序则是从第一个元素到倒数第三个元素依次与其右边的元素进行比较,如果左边的元素大于右边的元素,那么两个元素就互换。
4、依照此方式,一直到只有第一和第二个元素互相比较而结束。
代码:
-
class ArrayDemo{
-
public static void main(String[] args) {
-
int[] arr= {89,34,-270,17,3,100};
-
System.out.print(“排序前数组:” );
-
printArray(arr);
-
bubbleSort(arr);
-
System.out.print(“排序后数组:” );
-
printArray(arr);
-
}
-
public static void bubbleSort(int[] arr){
-
for(int x = 0; x < arr.length – 1; x++){
-
for(int y = 0; y < arr.length – 1 -x; y++){
-
if(arr[y] > arr[y+1]){
-
int temp = arr[y];
-
arr[y] = arr[y+1];
-
arr[y+1] = temp;
-
}
-
}
-
}
-
}
-
public static void printArray(int[] arr){
-
System.out.print(“[” );
-
for(int x = 0; x < arr.length; x++){
-
if(x != arr.length – 1)
-
System.out.print(arr[x] + “,” );
-
else
-
System.out.println(arr[x] + “]” );
-
}
-
}
-
}
运行结果:
在真实开发中,是不可能让我们自己去写这些排序算法的,因为JDK中已经提供好了API可以直接供我们调用。
示例:
-
import java.util.Arrays;
-
class ArrayDemo{
-
public static void main(String[] args) {
-
int[] arr= {89,34,-270,17,3,100};
-
System.out.print(“排序前数组:” );
-
printArray(arr);
-
Arrays.sort(arr);
-
System.out.print(“排序后数组:” );
-
printArray(arr);
-
}
-
public static void printArray(int[] arr){
-
System.out.print(“[” );
-
for(int x = 0; x < arr.length; x++){
-
if(x != arr.length – 1)
-
System.out.print(arr[x] + “,” );
-
else
-
System.out.println(arr[x] + “]” );
-
}
-
}
-
}
运行结果:
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/53714.html