Java中一维数组的排序方式

本文介绍了Java中对一维数组的四种排序方法:冒泡排序、选择排序、插入排序以及使用Arrays类的sort()方法。通过示例代码详细阐述了每种排序算法的工作原理及其实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  我们知道数组中是固定数量的同类型数据的组合,那么既然是同中类型,就可以进行排序。以下我们将介绍几种常见的数组的排序方式。

  int[] scores = new int[]{3,5,6,58,4,2,96,17}

  一 冒泡排序法。将相邻的元素比较,满足条件就交换位置。每完成一轮循环,将最大或者最小值放于第一位。剩下循环将剩下的位置依次存取。

  两层嵌套for循环,第一层for表示有几轮比较。第二层for循环表示每轮比较几次。

  for(int i =0;i<scores.length-1;i++){   -- -- 代表循环几轮

      for(int j=i+1;j<scores.length){  --  --代表每轮循环几次

         if(scores[i]<scores[j]){

            int temp = scores[i];

            scores[i] = scores[j];

            scores[j] = temp;

         }

      }

  }

  二是选择排序法,选择的是位置。选择排序法是先将最大或者最小的那个元素的下标找出来,然后再和第一个位置的元素进行交换。之后第二个位置,第三个位置,依次进行。

  for(int i =0;i<scores.length-1;i++){   -- -- 代表循环几轮

      int min = i ;

      for(int j=i+1;j<scores.length;j++){

          if(scores[min]>scores[j]){

             min=j;

          }

      }

      if(min!=i){

          int temp = scores[i];

          scores[i] = scores[min];

          scores[min] = temp;

      }

  }

  三是插入排序法。此方法将n个待排序的数组元素看成了一个有序表和一个无序表,开始的时候有序表只有一个值,无序表含有n-1个元素,排序过程中每次从无序表中取出一个元素,将这个元素依次和有序表中的元素相比较,然后插入到有序表中适当的位置,使之成为新的有序表。

  for(int i =1;i<scores.length;i++){   -- -- 代表循环几轮

    for(int j = i ; j<scores.length;j--){

      if(scores[j]<scores[j-1]){

         int temp = scores[j];

          scores[j] = scores[j-1];

          scores[j-1] = temp;

      }

    }

  }

  四是用Arrays类的静态方法sort()来进行排序。

  Arrays.sort(scores)--默认按照从小到大的顺序排序。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值