【冒泡排序算法基本思想和案例】
冒泡排序:
对比相邻的元素值,如果满足条件就交换元素值,把较小的元素移动到数组的前面,把大的元素移动到
数组的后面(也就是交换两个元素的位置),这样数组元素就像气泡一样从底部上升到顶部。
案例:
初始数组资源【63 4 24 1 3 15】
算法主要代码:
// 定义方法实现数组的冒泡排序算法
public static void bubbleSort(int[] array) {
for (int index = 1; index <= array.length - 2; index++) {
for (int i = 0; i < array.length - index; i++) {
if (array[i] > array[i + 1]) {
// 此部分算法请参考不借助第三方变量实现两个变量对换
array[i] = array[i] ^ array[i + 1];
array[i + 1] = array[i + 1] ^ array[i];
array[i] = array[i] ^ array[i + 1];
}
}
}
}
案例:
package com.lemon.demo;
/*
* 【选择排序算法基本思想和案例】
* 冒泡排序:
* 对比相邻的元素值,如果满足条件就交换元素值,把较小的元素移动到数组的前面,把大的元素移动到
* 数组的后面(也就是交换两个元素的位置),这样数组元素就像气泡一样从底部上升到顶部。
* 案例:
* 初始数组资源【63 4 24 1 3 15】
*
*/
public class BubbleSort {
public static void main(String[] args) {
int[] array = {63, 4, 24, 1, 3, 15};
System.out.println("排序前:");
for (int i : array) {
System.out.print(i + "\t");
}
System.out.println();
bubbleSort(array);
System.out.println("排序后:");
for (int i : array) {
System.out.print(i + "\t");
}
}
// 定义方法实现数组的冒泡排序算法
public static void bubbleSort(int[] array) {
for (int index = 1; index <= array.length - 2; index++) {
for (int i = 0; i < array.length - index; i++) {
if (array[i] > array[i + 1]) {
// 此部分算法请参考不借助第三方变量实现两个变量对换
array[i] = array[i] ^ array[i + 1];
array[i + 1] = array[i + 1] ^ array[i];
array[i] = array[i] ^ array[i + 1];
}
}
}
}
}