• Java中的冒泡排序和选择排序


    冒泡排序:
    相邻元素两两比较,大的往后放,第一次完毕后,最大值就出现在了最大索引处,
    同理,继续,即可得到一个排好序的数组。

    规律:1.两两比较,大的往后放。
    2.第一次比较完后,下一次比较的时候就是减少一个元素的比较
    3.第一次比较,有0个元素不比。
    第二次比较,有1个元素不比。
    第三次比较,有2个元素不比。
    4.总共需要比较 数组长度-1次。

    /*代码实现*/
    public static void bubbleSort(int[] arr){

    int[] arr = { 24, 51, 35, 54, 25, 64, 72, 52 };
    for(int x = 0;x < arr.length-1;x++){
    for(int y = 0;y < arr.length - 1 - x; y++){
    if(arr[y] > arr[y+1]){
    int temp = arr[y];
    arr[y] = arr[y+1];
    arr[y+1] = temp;
    }
    }
    }

    for (int i = 0; i < arr.length; i++) {
    System.out.print(arr[i] + " "); //24 25 35 51 52 54 64 72
    }
    }
    选择排序:
    从0索引开始,一次和后面元素比较,小的往前方,第一次完毕后,最小值出现在
    了最小索引处。其他的同理即可以得到一个排好序的数组。

    规律:
    1:第一次是从0索引开始和其他的进行比较
    第二次是从1索引开始和其他的进行比较
    ....
    2:最后一次是数组长度-2的元素个数组长度-1的元素比较。

    /*代码实现*/
    public static void bubbleSort(int[] arr){

    int[] arr = { 24, 51, 35, 54, 25, 64, 72, 52 };

    for(int x=0;x<arr.length-1;x++){
    for(int y=x+1;y<arr.length;y++){
    if(arr[y]<arr[x]){
    int temp = arr[x];
    arr[x]=arr[y];
    arr[y]=temp;
    }
    }
    }
    for (int i = 0; i < arr.length; i++) {
    System.out.print(arr[i] + " "); //24 25 35 51 52 54 64 72
    }

    }

  • 相关阅读:
    技巧篇:如何重写基类的事件
    技巧篇:结合反射技术实现多算法动态加密
    C语言关键字 专一王子:volatile
    第一章 C语言关键字 auto和register
    程序员的进化
    C语言关键字 铁布衫:const
    LINQ简记(3):子句
    windows phone开发之获取屏幕分辨率 和 系统版本
    windows phone开发之 listbox分页加载数据
    Windows phone 微博客户端 开发之项目总结
  • 原文地址:https://www.cnblogs.com/lszbk/p/12318606.html
Copyright © 2020-2023  润新知