java数组排序的代码 java实现数组排序

JAVA谁能帮我设计出将数组[4,3,78,68,98,1,4]进行从大到小排序输出的程序?

public static void main(String[] args) {

成都创新互联专注于梁子湖网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供梁子湖营销型网站建设,梁子湖网站制作、梁子湖网页设计、梁子湖网站官网定制、微信小程序开发服务,打造梁子湖网络公司原创品牌,更为您提供梁子湖网站排名全网营销落地服务。

int[] arr = {4,3,78,68,98,1,4};

Map map = new HashMap();

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

int val = arr[i];

map.put(val,i);

}

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

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

int temp = 0;

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

temp = arr[j];

arr[j] = arr[j+1];

arr[j+1] = temp;

}

}

}

System.out.println( "从大到小排序:" + Arrays.toString(arr));

System.out.println("最大值=" + arr[0] + ",最大值位置=" + map.get(arr[0]));

}

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编程实现随机数组的快速排序

java编程实现随机数组的快速排序步骤如下:

1、打开Eclipse,新建一个Java工程,在此工程里新建一个Java类;

2、在新建的类中声明一个产生随机数的Random变量,再声明一个10个长度的int型数组;

3、将产生的随机数逐个放入到数组中;

4、利用排序算法对随机数组进行排序。

具体代码如下:

import java.util.Random;

public class Demo {

public static void main(String[] args) {

int count = 0;

Random random = new Random();

int a[] = new int[10];

while(count  10){

a[count] = random.nextInt(1000);//产生0-999的随机数

count++;

}

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

int min = i;

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

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

min = j;

}

}

if (min != i) {

int b = a[min];

a[min] = a[i];

a[i] = b;

}

}

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

System.out.print(a[c] + " ");

}

}

}

在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 数组顺序排列

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

就是这是个升序!

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

比如

for(int i:arr){

System.out.println(i);

}


网站名称:java数组排序的代码 java实现数组排序
标题URL:http://azwzsj.com/article/dosedod.html