JAVA 中数组的几种排序方法

Wesley13
• 阅读 896
1、数组的冒泡排序

public void bubbleSort(int a[]) { 

    int n = a.length; 

    for (int i = 0; i < n - 1; i++) { 

      for (int j = 0; j < n - 1; j++) { 

        if (a[j] > a[j + 1]) { 

          int temp = a[j]; 

          a[j] = a[j + 1]; 

          a[j + 1] = temp; 

        } 

      } 

    } 

}

2、数组的选择排序 

public void selectSort(int a[]) { 

    for (int n = a.length; n > 1; n--) { 

      int i = max(a, n); 

      int temp = a[i]; 

      a[i] = a[n - 1]; 

      a[n - 1] = temp; 

    } 

}

 3、数组的插入排序

public void insertSort(int a[]) { 

    int n = a.length; 

    for (int i = 1; i < n; i++) { //将a[i]插入a[0:i-1] 

      int t = a[i]; 

      int j; 

      for (j = i - 1; j >= 0 && t < a[j]; j--) { 

        a[j + 1] = a[j]; 

      } 

      a[j + 1] = t; 

    } 

}

4、设置两层循环

for(int i=0;i<arrayOfInts.length;i++) 

{ 

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

    {  

      if(arrayOfInts[i]>arrayOfInts[j]) 

      { 

        a=arrayOfInts[i]; 

        arrayOfInts[i]=arrayOfInts[j]; 

        arrayOfInts[j]=a; 

      } 

    } 

}

5、还有一种方法就是用Arrays.sort()方法:

//导入包 

import java.util.Arrays;



public class Two3{ 



    public static void main(String[]args) 

    { 

      int[]arrayOfInts={32,87,3,589,12,7076,2000,8,622,127}; 



      Arrays.sort(arrayOfInts); 



      for(int i=0;i<arrayOfInts.length-1;i++) 

      { 

        System.out.print(arrayOfInts[i]+" "); 

      } 

   } 

}

小示例:

Array stuInfo = Array.CrateInstance(typeOf(Student),5);

Array stuScore = Array.CreateInstance(typeOf(double),5);

Array.Sort(stuScore,stuInfo);

Array.Reverse(stuInfo);
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
九路 九路
4年前
Java实现排序算法
//冒泡排序publicstaticvoidbubbleSort(intdata){intndata.length;for(inti0;i<n;i){for(intj0;j<n;j){if(
Stella981 Stella981
3年前
JS 对象数组Array 根据对象object key的值排序sort,很风骚哦
有个js对象数组varary\{id:1,name:"b"},{id:2,name:"b"}\需求是根据name或者id的值来排序,这里有个风骚的函数函数定义:function keysrt(key,desc) {  return function(a,b){    return desc ? ~~(ak
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Docker 部署SpringBoot项目不香吗?
  公众号改版后文章乱序推荐,希望你可以点击上方“Java进阶架构师”,点击右上角,将我们设为★“星标”!这样才不会错过每日进阶架构文章呀。  !(http://dingyue.ws.126.net/2020/0920/b00fbfc7j00qgy5xy002kd200qo00hsg00it00cj.jpg)  2
Stella981 Stella981
3年前
LeetCode 5561. 获取生成数组中的最大值
文章目录1\.题目2\.解题1\.题目给你一个整数n。按下述规则生成一个长度为n1的数组nums:nums00nums11当2<2i<n时,nums2inumsi
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这