冒泡排序算法(Bubble Sort)

来源:互联网 发布:网络词木马是什么意思 编辑:程序博客网 时间:2024/06/06 00:38
【冒泡排序算法基本思想和案例】
冒泡排序:
         对比相邻的元素值,如果满足条件就交换元素值,把较小的元素移动到数组的前面,把大的元素移动到
         数组的后面(也就是交换两个元素的位置),这样数组元素就像气泡一样从底部上升到顶部。
 案例:
         初始数组资源【63    4    24    1    3    15】
算法主要代码:
  1. // 定义方法实现数组的冒泡排序算法
  2. public static void bubbleSort(int[] array) {
  3. for (int index = 1; index <= array.length - 2; index++) {
  4. for (int i = 0; i < array.length - index; i++) {
  5. if (array[i] > array[i + 1]) {
  6. // 此部分算法请参考不借助第三方变量实现两个变量对换
  7. array[i] = array[i] ^ array[i + 1];
  8. array[i + 1] = array[i + 1] ^ array[i];
  9. array[i] = array[i] ^ array[i + 1];
  10. }
  11. }
  12. }
  13. }
案例:
  1. package com.itheima.demo;
  2. /*
  3. * 【选择排序算法基本思想和案例】
  4. * 冒泡排序:
  5. * 对比相邻的元素值,如果满足条件就交换元素值,把较小的元素移动到数组的前面,把大的元素移动到
  6. * 数组的后面(也就是交换两个元素的位置),这样数组元素就像气泡一样从底部上升到顶部。
  7. * 案例:
  8. * 初始数组资源【63 4 24 1 3 15】
  9. *
  10. */
  11. public class BubbleSort {
  12. public static void main(String[] args) {
  13. int[] array = {63, 4, 24, 1, 3, 15};
  14. System.out.println("排序前:");
  15. for (int i : array) {
  16. System.out.print(i + "\t");
  17. }
  18. System.out.println();
  19. bubbleSort(array);
  20. System.out.println("排序后:");
  21. for (int i : array) {
  22. System.out.print(i + "\t");
  23. }
  24. }
  25. // 定义方法实现数组的冒泡排序算法
  26. public static void bubbleSort(int[] array) {
  27. for (int index = 1; index <= array.length - 2; index++) {
  28. for (int i = 0; i < array.length - index; i++) {
  29. if (array[i] > array[i + 1]) {
  30. // 此部分算法请参考不借助第三方变量实现两个变量对换
  31. array[i] = array[i] ^ array[i + 1];
  32. array[i + 1] = array[i + 1] ^ array[i];
  33. array[i] = array[i] ^ array[i + 1];
  34. }
  35. }
  36. }
  37. }
  38. }

原创粉丝点击