数组(四)--冒泡排序

Myth丶恋晨 2021-09-14 08:12 456阅读 0赞

排序

冒泡排序:相邻两个元素进行比较,如果符合条件就换位。

工作原理:

1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。

2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

3、针对所有的元素重复以上的步骤,除了最后一个。

4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

  1. public class Demo8 {
  2. public static void main(String[] args){
  3. int[] arr={1,4,3,5,2,6};
  4. /*
  5. //排序前
  6. printArray(arr);
  7. //排序
  8. bubbleSort(arr);
  9. System.out.println();
  10. //排序后
  11. printArray(arr);
  12. */
  13. //排序前
  14. printArray(arr);
  15. //排序
  16. bubbleSort(arr);
  17. System.out.println();
  18. //排序后
  19. printArray(arr);
  20. }
  21. //冒泡排序方法一
  22. public static void bubbleSort(int[] arr){
  23. for(int x=0;x<arr.length-1;x++){
  24. for(int y=0;y<arr.length-x-1;y++){//-x:让每一次比较的元素减少,-1:是为了避免脚标越界。
  25. if(arr[y]>arr[y+1]){
  26. int temp=arr[y];
  27. arr[y]=arr[y+1];
  28. arr[y+1]=temp;
  29. }
  30. }
  31. }
  32. }
  33. //冒泡排序方法二
  34. public static void bubbleSort1(int[] arr){
  35. for(int x=arr.length-1;x>0;x--){
  36. for(int y=0;y<x;y++){
  37. if(arr[y]>arr[y+1]){
  38. int temp=arr[y];
  39. arr[y]=arr[y+1];
  40. arr[y+1]=temp;
  41. }
  42. }
  43. }
  44. }
  45. //打印数组
  46. public static void printArray(int[] arr){
  47. System.out.print("[");
  48. for(int i=0;i<arr.length;i++){
  49. if(i!=arr.length-1)
  50. System.out.print(arr[i]+" ");
  51. else
  52. System.out.print(arr[i]+"]");
  53. }
  54. }
  55. }

发表评论

表情:
评论列表 (有 0 条评论,456人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java数组实现冒泡排序

    冒泡排序的思想: 对于一个乱序的数组,依次比较arr\[i\] 与 arr\[i + 1\] 的大小,小的放左边,大的放右边,每次冒泡排序的结果是找出数组中最大的值放在数组

    相关 数组)--冒泡排序

    排序 > 冒泡排序:相邻两个元素进行比较,如果符合条件就换位。 > 工作原理: > > 1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。 > > > 2、对每