首页 > 编程语言 >Java数组排序

Java数组排序

时间:2022-11-28 10:08:06浏览次数:38  
标签:10 Java int 一个 数组 排序 public


      今天,巩固教大家数组排序方法,我将介绍以下这几种方式:快速排序,冒泡排序,选择排序。

1、快速排序



这就是各位学Java的福利了,Java提供sort()方法,咱们只要调用就行了。



代码如下:



        //引入包



public class 排序 {





public static void main(String[] args) {



  //建立一维数组



    //进行排序



for(int i=0;i






}





}





}





这段代码我相信应该很好理解,我在这就不多说了。









2、冒泡排序



这是一个很常用的方法,它的运行原理是:把每两个数放在一起比较,并把小的数放在前面。



public class 排序 {





public static void main(String[] args) {



  //建立一维数组



//排序开始



for(int i=0;i



//判断后一个数是否大于前一个数



if(a[i+1]



//将前一个数的值给q



int q=a[i];



//将后一个数的值给前一个数



a[i]=a[i+1];



//将q(即前一个数的值)给后一个数



a[i+1]=q;



}



}



for(int i=0;i






}





}





}



如果你的代码是这样的,那很抱歉地告诉你,这是错的!



8   7   6   5   4   3   2   1   10    



思考一下为什么?



其实很简单,我们的原数组是:10,9,8,7,6,5,4,3,2,1



它先将10与9比较,于是得到:9,10,8,7,6,5,4,3,2,1



再将10与8比较:9,8,10,7,6,5,4,3,2,1



于是最后:9,8,7,6,5,4,3,2,1,10



那我们的怎么做呢?



正确代码:



public class 排序 {





public static void main(String[] args) {



  //建立一维数组



//排序开始



for(int j=0;j



for(int i=0;i



//判断后一个数是否大于前一个数



if(a[i+1]



//将前一个数的值给q



int q=a[i];



//将后一个数的值给前一个数



a[i]=a[i+1];



//将q(即前一个数的值)给后一个数



a[i+1]=q;



}



}



}



for(int i=0;i






}





}





}



我又在外面套一个循环,让它运行十次,这样就可以了。它会把前面大的数一个一个往后移,最后完成!







3、选择排序



所谓选择排序,就是依次将每位上的数与后面的所有数做对比,并把比它小的数的下标记录下来,最后替换。



代码如下:



public class 数组排序 {





public static void main(String[] args) {



//初始化一维数组



int [] a={10,9,8,7,6,5,4,3,2,1};



//开始排序



//这个for是用来选择要与后面数比较的数



for(int j=0;j



//将当前比较数的下标给z



int z=j;



  //开始比较



for(int i=j+1;i



     



if(a[i]



//更换下标



z=i;



}



}



//判断z的值是否更换



if(z!=j){



//替换数值



int q=a[j];



a[j]=a[z];



a[z]=q;



}



}



//遍历



for(int i=0;i



");



}





}





}









  好了,这三种排序方法我都讲完了,如果有什么不理解的地方,可以加我的Q:1979661141



标签:10,Java,int,一个,数组,排序,public
From: https://blog.51cto.com/u_9368800/5890561

相关文章

  • java利用递归实现扫雷
    package扫雷;importjava.math.*;importjava.util.Scanner;publicclass扫雷{//记录翻开次数staticintk=0;//两个数组......
  • 论Java的重要性
    最近,最新的世界编程语言排名最近出炉了,Java位居世界第一。    不仅如此,Java以17.856%超过第二名C语言的8.726%两倍以上,其实,这一现象是十分反常的,因为,在前几年,Java......
  • 大趋智能打印机java api
    对接飞鹅和易联云后,网上几乎没资料对大趋智能打印机javaapi分享,故此分享一波。官方文档地址SnParam.javapackagecom.shanheyongmu.openapi.param;importlombok......
  • 简单记录JAVA浮点类型判断BUG
    //0.3*1==0.3结果:trueSystem.out.println("0.3*1==0.3结果:"+(0.3*1==0.3));//0.1*3==0.3结果:falseSystem.out.println("0.......
  • java技术架构图
    架构图有哪几种  业务架构:需求初期业务的结果和过程描述一般比较模糊,可能来自于某个老板、运营或用户的反馈。客户说海尔洗衣机洗土豆会堵,海尔立马设计专门的土豆洗......
  • Java基础语法
          ......
  • java中String.intern()方法具有什么功能呢?
    下文笔者讲述java中String.intern()方法的功能简介说明,如下所示:String.intern原理String.intern():此方法是一个Native方法底层调用C++的StringTable::in......
  • Difference Between Method Overloading and Method Overriding in Java
    ThedifferencesbetweenMethodOverloadingandMethodOverridinginJavaareasfollows:MethodOverloading MethodOverridingMethodoverloadingis......
  • 07#Web 实战:实现 GitHub 个人主页项目拖拽排序
    实现效果图GitHub和Gitee个人主页中可以对自己的项目进行拖拽排序,于是我就想自己实现一个。本随笔只是记录一下大概的实现思路,如果感兴趣的小伙伴可以通过代码和本随......
  • Java基础
    java基础java的基本程序设计结构第一个程序Main.javapublicclassMain{publicstaticvoidmain(String[]args){System.out.println("hello,world")......