java最简单的三种排序问题(冒泡排序、选择排序、快速排序)

简介: java最简单的三种排序问题(冒泡排序、选择排序、快速排序)

**

完成数组的冒泡排序算法

**

    //冒泡排序:两个相邻数相比,循环冒泡n-1次; 
    class paixu{
      //冒泡排序
      public static void main(String[] args) {
        int[] a = {4,5,2,1,6,83,9,7,0};
        for(int i=1;i<a.length;i++){//注意:这里的i初值应从1开始;
          //内层循环控制排序次数
          for (int j=0;j<(a.length-i);j++) {
            //交换次序,比较两个数的大小,大的往后移
            if (a[j]>a[j+1]) {
              int t;
              t=a[j];
              a[j]=a[j+1];
              a[j+1]=t;
            }
          }
        }
        //再次循环看看排序是否成功
        for (int i=0;i<a.length;i++) {
          System.out.print(a[i]+"\t");
        }
      }
    }

完成对上题中数组的选择排序算法。

 //选择排序:一个数和剩下所有数比
    class xuanze{
      //选择排序,将一个数和剩下所有数相比
      public static void main(String[] args) {
        int[] a = {4,5,2,1,6,83,9,7,0};
        //外层循环从0开始,循环length-1次
        for (int i=0;i<a.length-1 ;i++ ) {
          //从i+1开始,到length,
          for (int j=i+1;j<a.length ;j++ ) {
            //依次比较第一个数和后面所有的数,最小的放最前面,调换顺序
            if (a[i]>a[j]) {
              int t=a[i];
              a[i]=a[j];
              a[j]=t;
            }
          }
        }
        //再次循环输出数组的各个元素
        for (int i=0;i<a.length ;i++ ) {
          System.out.print(a[i]+"\t");
        }
      }
    }

完成对上题中数组的快速排序算法。

    class kuaisu{
      //快速排序
      public static void main(String[] args) {
        int[] a = {4,5,2,1,6,83,9,7,0};
        //sort使用快速排序法,
        java.util.Arrays.sort(a);
        //再次循环输出数组的各个元素
        for (int i=0;i<a.length ;i++ ) {
          System.out.print(a[i]+"\t");
        }
      }
    }
目录
相关文章
|
1月前
|
Java 程序员
Java 排序神器:Comparable 和 Comparator 该怎么选?
嗨,大家好,我是小米!今天和大家聊一聊Java社招面试中常考的经典问题——Comparable和Comparator的区别。Comparable定义对象的自然排序,适用于单一固定的排序规则;Comparator则是策略接口,用于定义自定义排序规则,适用于多样化或多变的排序需求。掌握这两者的区别是理解Java排序机制的基础,也是面试中的加分题。结合实际项目场景深入探讨它们的应用,能更好地打动面试官。如果你觉得有帮助,欢迎点赞、收藏、分享,期待你的一键三连!我们下期见~ 我是小米,一个喜欢分享技术的程序员,关注我的微信公众号“软件求生”,获取更多技术干货!
46 20
|
4月前
|
机器学习/深度学习 算法 搜索推荐
让星星⭐月亮告诉你,Java冒泡排序及其时间复杂度计算
冒泡排序是一种简单的排序算法,通过多次遍历数组,每次比较相邻元素并交换位置,将较小的元素逐步移至数组前端。第一轮结束后,最小值会位于首位;第二轮则将次小值置于第二位,依此类推。经过 (n-1) 轮遍历后,数组完成排序。冒泡排序的时间复杂度为 O(n²),在最优情况下(已排序数组)时间复杂度为 O(n)。示例代码展示了如何实现冒泡排序。
105 1
|
4月前
|
算法 Java
java冒泡排序与二分查找(详解)
java冒泡排序与二分查找(详解)
61 4
|
4月前
|
存储 搜索推荐 算法
【用Java学习数据结构系列】七大排序要悄咪咪的学(直接插入,希尔,归并,选择,堆排,冒泡,快排)以及计数排序(非比较排序)
【用Java学习数据结构系列】七大排序要悄咪咪的学(直接插入,希尔,归并,选择,堆排,冒泡,快排)以及计数排序(非比较排序)
43 1
|
4月前
|
人工智能 Java
java之冒泡排序8个数
java之冒泡排序8个数
31 0
|
6月前
|
存储 Java
Java中ArrayList 元素的排序
本文提供了Java中根据`ArrayList`元素的某个属性进行排序的示例代码,包括实现`Comparable`接口和重载`compareTo`方法,然后使用`Collections.sort`方法进行排序。
|
6月前
|
存储 Java API
【Java高手必备】揭秘!如何优雅地对List进行排序?掌握这几种技巧,让你的代码瞬间高大上!
【8月更文挑战第23天】本文深入探讨了Java中对List集合进行排序的各种方法,包括使用Collections.sort()、自定义Comparator以及Java 8的Stream API。通过示例代码展示了不同情况下如何选择合适的方法:从简单的整数排序到自定义类对象的排序,再到利用Comparator指定特殊排序规则,最后介绍了Stream API在排序操作中的简洁应用。理解这些技术的区别与应用场景有助于提高编程效率。
211 4
|
6月前
|
存储 Java
|
6月前
|
存储 Java
|
6月前
|
存储 搜索推荐 Java

热门文章

最新文章