数组排序java,数组排序java代码

本文目录一览:

java怎么让数组的数字从大到小排序?

将数字从大到小排序的方法:

例如简一点的冒泡排序,将第一个数字和后面的数字逐个比较大小,如果小于,则互换位置,大于则不动。此时,第一个数为数组中的最大数。然后再将第二个数与后面的数逐个比较,以次类推。

示例代码如下: 

public class Test { 

public static void main(String[] args) { 

int [] array = {12,3,1254,235,435,236,25,34,23}; 

int temp; 

for (int i = 0; i  array.length; i++) { 

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

if (array[i]  array[j]) { 

temp = array[i]; 

array[i] = array[j]; 

array[j] = temp; // 两个数交换位置 

for (int i = 0; i  array.length; i++) { 

System.out.print(array[i]+”  “); 

}

数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。

Java 语言中提供的数组是用来存储固定大小的同类型元素。

你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,….,number99

扩展资料

Java中利用数组进行数字排序一般有4种方法:

1、选择排序是先将数组中的第一个数作为最大或最小数,然后通过循环比较交换最大数或最小数与一轮比较中第一个数位置进行排序。

2、冒泡排序也是先将数组中的第一个数作为最大或最小数,循环比较相邻两个数的大小,满足条件就互换位置,将最大数或最小数沉底。

3、快速排序法主要是运用Arrays类中的Arrays.sort方法()实现。

4、插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。

java 数组顺序排列

首先,API里面写了: Sorts the specified array of ints into ascending numerical order.

就是这是个升序!

其次,你这个运行应该不会报错,输出的会是 数组地址,因为数组在java里面是一个对象,如果要看排序的结果,需要遍历下:

比如

for(int i:arr){

System.out.println(i);

}

在java编程中如何对数组进行排序,并输出排序后的数组及原数组下标值

java变成对数组进行排序可以使用ArraySort方法,保存源数组下标值可以存入map中,如下代码:

import java.util.ArrayList;

import java.util.Arrays;

import java.util.HashMap;

import java.util.List;

public class ceshi {

public static void main(String[] args) {

int n = 5;

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

HashMap map = new HashMap();

for (int i = 0; i  a.length; i++) {

map.put(a[i], i); // 将值和下标存入Map

}

// 排列

List list = new ArrayList();

Arrays.sort(a); // 升序排列

for (int i = 0; i  a.length; i++) {

list.add(a[i]);

}

for (Object object : list) {

System.out.print(object + “,”);

}

System.out.println();

// 查找原始下标

for (int i = 0; i  n; i++) {

System.out.print(map.get(a[i]) + “,”);

}

}

}

运行结果如下:

java数组排序

//原理:每次都找到当次最大的数,按大小顺序依次放入数组相应位置

//比如:第一次先找到最大的数并记下其位置,如果其不在数组第一位,

//则将其与第一位交换,使最大数置于第一位

//第二次再循环查找第二大的数并记下其位置,如果其不在数组第二位,

//则将其与第二位交换,使最大数置于第二位

//依次类推…………………………………..

//第i次再循环查找第i大的数并记下其位置,如果其不在数组第 i位,

//则将其与第 i位交换,使最大数置于第 i位

public class SelectSort {

public static void main(String[] args) {

int[] a = {25,15,42,16,12,36};

int max = 0;

int tmp = 0;

for(int i=0;ia.length;i++){

max = i;//

/**查找第 i大的数,直到记下第 i大数的位置***/

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

if(a[max]a[j])

max = j;//记下较大数位置,再次比较,直到最大

}

/***如果第 i大数的位置不在 i,则交换****/

if(i!=max){

tmp = a[i];

a[i] = a[max];

a[max] = tmp;

}

}

for(int i=0;ia.length;i++)

System.out.print(a[i]+” “);

}

}

Java数组排序

//第一种

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

Arrays.sort(a);

//冒泡排序

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

int temp=0;  

    for(int i=0;ia.length-1;i++){  

        for(int j=0;ja.length-1-i;j++){  

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

            temp=a[j];  

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

            a[j+1]=temp;  

        }  

        }  

    }

//选择排序

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

for (int i=0;iargs1.length-1 ;i++ ){   

            int min=i;   

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

                  if (args1[min]args1[j]){   

                       min=j;   

                       }   

              }   

                  if (min!=i){  

                  int temp=args1[i];  

                  args1[i]=args1[min];  

                  args1[min]=temp;          

              }  

        }

//插入排序

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

for(int i=1;iargs1.length;i++){   

            for(int j=i;j0;j–){   

                    if (args1[j]args1[j-1]){   

                            int temp=args1[j-1];  

                            args1[j-1]=args1[j];  

                           args1[j]=temp;          

                   }else break;   

           }  

    }

原创文章,作者:EBQJ,如若转载,请注明出处:https://www.506064.com/n/139375.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
EBQJEBQJ
上一篇 2024-10-04 00:22
下一篇 2024-10-04 00:22

相关推荐

  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • Python字符串宽度不限制怎么打代码

    本文将为大家详细介绍Python字符串宽度不限制时如何打代码的几个方面。 一、保持代码风格的统一 在Python字符串宽度不限制的情况下,我们可以写出很长很长的一行代码。但是,为了…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Python基础代码用法介绍

    本文将从多个方面对Python基础代码进行解析和详细阐述,力求让读者深刻理解Python基础代码。通过本文的学习,相信大家对Python的学习和应用会更加轻松和高效。 一、变量和数…

    编程 2025-04-29
  • Python导入数组

    本文将为您详细阐述Python导入数组的方法、优势、适用场景等方面,并附上代码示例。 一、numpy库的使用 numpy是Python中一个强大的数学库,其中提供了非常丰富的数学函…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29

发表回复

登录后才能评论