当前位置:首页 » 编程语言 » java数组的排序

java数组的排序

发布时间: 2022-08-02 03:53:11

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;i<a.length;i++){
max = i;//
/**查找第 i大的数,直到记下第 i大数的位置***/
for(int j=i+1;j<a.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;i<a.length;i++)
System.out.print(a[i]+" ");
}
}

㈡ java 数组排序的方法

Arrays.sort()是按升序对数组进行排序的,当然会是矮的在前面了。

㈢ Java通过几种经典的算法来实现数组排序

JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。
快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。
冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来。
选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过比较循环,输出有序的数组。
插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。下面我就将他们的实现方法一一详解供大家参考。
<1>利用Arrays带有的排序方法快速排序

public class Test2{ public static void main(String[] args){ int[] a={5,4,2,4,9,1}; Arrays.sort(a); //进行排序 for(int i: a){ System.out.print(i); } } }

<2>冒泡排序算法

public static int[] bubbleSort(int[] args){//冒泡排序算法 for(int i=0;i<args.length-1;i++){ for(int j=i+1;j<args.length;j++){ if (args[i]>args[j]){ int temp=args[i]; args[i]=args[j]; args[j]=temp; } } } return args; }

<3>选择排序算法

public static int[] selectSort(int[] args){//选择排序算法 for (int i=0;i<args.length-1 ;i++ ){ int min=i; for (int j=i+1;j<args.length ;j++ ){ if (args[min]>args[j]){ min=j; } } if (min!=i){ int temp=args[i]; args[i]=args[min]; args[min]=temp; } } return args; }

<4>插入排序算法

public static int[] insertSort(int[] args){//插入排序算法 for(int i=1;i<args.length;i++){ for(int j=i;j>0;j--){ if (args[j]<args[j-1]){ int temp=args[j-1]; args[j-1]=args[j]; args[j]=temp; }else break; } } return args; }

㈣ 关于java数组的排序问题

Arrays.sort(arrs) 就是排序呀

要指定升序降序的话可以

Arrays.sort(arry,newComparator<Integer>(){
@Override
publicintcompare(Integero1,Integero2){
returno1-02;
}
});

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

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

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

示例代码如下:
publicclassTest{

publicstaticvoidmain(String[]args){
int[]array={12,3,1254,235,435,236,25,34,23};
inttemp;
for(inti=0;i<array.length;i++){
for(intj=i+1;j<array.length;j++){
if(array[i]<array[j]){
temp=array[i];
array[i]=array[j];
array[j]=temp; //两个数交换位置
}
}
}
for(inti=0;i<array.length;i++){
System.out.print(array[i]+"");
}
}
}

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

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

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

(5)java数组的排序扩展阅读

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

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

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

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

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



㈥ java中类数组怎么排序

用for嵌套循环,再写一个temp变量,跟数组属性一样,存储中间值,用冒泡法个人觉得最简单的,
先用第一个值来挨个和下面的值进行比较,第一次
循环会找出最小的那个整形值,然后把最小所以的数组存储在temp中,将外循环的数组存储到这个数组中,然后将temp的值放到外循环的数组中,然后第二个值再与从第三个-------到最后一个值进行比较找到次小的,交换方法与前面的一样,
最后循环完了就排好序了,
如:数组下标是10,则外循环是从0-8
内循环是1-9

㈦ java数组如何排序

如果是升序可以使用 Arrays.sort(数组名)(注意:要使用这个方法必须导入java.util.Arrays包)或者使用冒泡排序,如果是降序只能自己写,推荐使用冒泡排序

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

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

importjava.util.ArrayList;
importjava.util.Arrays;
importjava.util.HashMap;
importjava.util.List;

publicclassceshi{
publicstaticvoidmain(String[]args){
intn=5;
int[]a={8,5,4,6,2,1,7,9,3};
HashMapmap=newHashMap();
for(inti=0;i<a.length;i++){
map.put(a[i],i);//将值和下标存入Map
}

//排列
Listlist=newArrayList();
Arrays.sort(a);//升序排列
for(inti=0;i<a.length;i++){
list.add(a[i]);
}
for(Objectobject:list){
System.out.print(object+",");
}
System.out.println();

//查找原始下标
for(inti=0;i<n;i++){
System.out.print(map.get(a[i])+",");
}

}

}

运行结果如下:

热点内容
小科编程 发布:2025-01-23 11:48:55 浏览:673
安卓手机如何禁止未知软件安装 发布:2025-01-23 11:47:31 浏览:690
脚本我是一 发布:2025-01-23 11:44:27 浏览:642
安卓的哈灵麻将哪里下 发布:2025-01-23 11:26:17 浏览:230
全本免费阅读器在哪缓存 发布:2025-01-23 11:14:54 浏览:440
传输数据加密 发布:2025-01-23 11:03:20 浏览:256
win7文件夹没有共享 发布:2025-01-23 10:55:43 浏览:142
php原链接 发布:2025-01-23 10:49:56 浏览:515
演讲稿脚本需要哪些要素 发布:2025-01-23 10:49:55 浏览:385
传奇日常脚本 发布:2025-01-23 10:45:04 浏览:42