Java数组排序-冒泡排序

Java的数组排序有多种方式,其中有冒泡排序,选择排序,插入排序等,这一篇说一下冒泡排序的实现。

冒泡排序其实是将一个数组的相邻两个元素两两比较,大的元素往后放,当第一次比较完毕后最大的元素就会排到数组的最右边,这样同理继续比较下去,就会得到一个排序好的数组。


它是有规律的:

1 每一次比较完毕后相对最大的值都会排到数组的右边

2 每一次比较后,下一次比较就会减少一个元素的比较

3 一共需要比较数组长度的length-1次

画一张图帮助理解一下

-------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

写一个例子运行下

public class BubbleDemo {
	public static void main(String[] args) {
		int[] arr = new int[] { 2, 34, 56, 43, 45 };

		int[] arr2 = getBubble(arr);
		for (int a : arr2) {
			System.out.print(a + " ");
		}
	}

	public static int[] getBubble(int[] arr) {
		// 冒泡排序
		for (int i = 0; i < arr.length - 1; i++) {
			for (int j = 0; j < arr.length - 1 - i; j++) {
				if (arr[j] > arr[j + 1]) {
					int temp = arr[j];
					arr[j] = arr[j + 1];
					arr[j + 1] = temp;
				}
			}
		}
		return arr;
	}
}




猜你喜欢

转载自blog.csdn.net/oman001/article/details/76261189