冒泡排序算法(Bubble Sort)

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/Lammonpeter/article/details/74923927

【冒泡排序算法基本思想和案例】

冒泡排序:

         对比相邻的元素值,如果满足条件就交换元素值,把较小的元素移动到数组的前面,把大的元素移动到

         数组的后面(也就是交换两个元素的位置),这样数组元素就像气泡一样从底部上升到顶部。

 案例:

         初始数组资源【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.lemon.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. // 定义方法实现数组的冒泡排序算法
  27. public static void bubbleSort(int[] array) {
  28. for (int index = 1; index <= array.length - 2; index++) {
  29. for (int i = 0; i < array.length - index; i++) {
  30. if (array[i] > array[i + 1]) {
  31. // 此部分算法请参考不借助第三方变量实现两个变量对换
  32. array[i] = array[i] ^ array[i + 1];
  33. array[i + 1] = array[i + 1] ^ array[i];
  34. array[i] = array[i] ^ array[i + 1];
  35. }
  36. }
  37. }
  38. }
  39. }

 

展开阅读全文

没有更多推荐了,返回首页