您的位置:

java数组排序,Java数组排序方法

本文目录一览:

java数组如何排序

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

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 数组排序的方法

JAVA 中数组的几种排序方法:

1、数组的冒泡排序

[java] view plaincopyprint?

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、数组的选择排序

[java] view plaincopyprint?

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、数组的插入排序

[java] view plaincopyprint?

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、设置两层循环

[java] view plaincopyprint?

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

{

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

{

if(arrayOfInts[i]arrayOfInts[j])

{

a=arrayOfInts[i];

arrayOfInts[i]=arrayOfInts[j];

arrayOfInts[j]=a;

}

}

}

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

[java] view plaincopyprint?

//导入包

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;iarrayOfInts.length-1;i++)

{

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

}

}

JAVA通过数组按首字母排序怎么做?

自己封装的一个工具类,可以将汉字按照拼音的首字母排序,支持对Model和字典排序.只能对首字母排序,不支持第二个字母, 实现的原理就是创建一个A-Z的数组,数组中的元素是字典,字典中有两个元素,一个是title,就是当前的首字母 A-Z中的一个,另一个是保存当前title对应的元素的数组,对传入的数组进行遍历获得数组中的一个元素,如果是Model或者字典通过传入的key的值获得要排序的字符串,获得字符串的拼音的首字母,判断拼音的首字母是A-Z中的哪一个,然后放到数组中的对应的字典的数组中.

后来又做了一个对英文的首字母排序的程序,原理和上面的一样,还省略了将汉字转化为拼音的步骤。工具类的名称是:NH_OrderByPinYinFirstLetter。

代码:使用的时候直接调用下面的方法就行,是一个加号方法,第一个参数是保存要排序的元素的数组,第二个参数:如果数组中是Model或者字典,就写排序的依据的key值,如果数组中不是Model或字典,就写nil。

[objc] view plain copy

// 方法

+ (NSMutableArray *)baseOrderPinYinOnArr:(NSMutableArray *)arr ByKey:(NSString *)key  返回值的类

// 返回一个有24个元素的数组,数组里的元素是字典

// 字典里有两对键值对

//    title : 当前的拼音首字母 A - Z

// datas : 当前的拼音首字母对应的model所组成的数组

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]+" ");

}

}