java数组从大到小排序,JAVA数组排序
大家好,关于java数组从大到小排序很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于JAVA数组排序的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
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
扩展资料
Java中利用数组进行数字排序一般有4种方法:
1、选择排序是先将数组中的第一个数作为最大或最小数,然后通过循环比较交换最大数或最小数与一轮比较中第一个数位置进行排序。
2、冒泡排序也是先将数组中的第一个数作为最大或最小数,循环比较相邻两个数的大小,满足条件就互换位置,将最大数或最小数沉底。
3、快速排序法主要是运用Arrays类中的Arrays.sort方法()实现。
4、插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。
Java数组排序 几种排序方法详细一点
JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。
快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。
冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来。
选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过比较循环,输出有序的数组。
插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。下面我就将他们的实现方法一一详解供大家参考。
<1>利用Arrays带有的排序方法快速排序
publicclassTest2{
publicstaticvoidmain(String[]args){
int[]a={5,4,2,4,9,1};
Arrays.sort(a);//进行排序
for(inti:a){
System.out.print(i);
}
}
}<2>冒泡排序算法
publicstaticint[]bubbleSort(int[]args){//冒泡排序算法
for(inti=0;i<args.length-1;i++){
for(intj=i+1;j<args.length;j++){
if(args[i]>args[j]){
inttemp=args[i];
args[i]=args[j];
args[j]=temp;
}
}
}
returnargs;
}<3>选择排序算法
publicstaticint[]selectSort(int[]args){//选择排序算法
for(inti=0;i<args.length-1;i++){
intmin=i;
for(intj=i+1;j<args.length;j++){
if(args[min]>args[j]){
min=j;
}
}
if(min!=i){
inttemp=args[i];
args[i]=args[min];
args[min]=temp;
}
}
returnargs;
}<4>插入排序算法
publicstaticint[]insertSort(int[]args){//插入排序算法
for(inti=1;i<args.length;i++){
for(intj=i;j>0;j--){
if(args[j]<args[j-1]){
inttemp=args[j-1];
args[j-1]=args[j];
args[j]=temp;
}elsebreak;
}
}
returnargs;
}
关于JAVA中数组排序的问题
记得文件名与公共类保持一致(大小写区分)
import java.util.*;
public class Zhidao{
//选择排序
public static void sort(int[] arr){
//输出原始数据
System.out.println("排序前");
for(int d:arr)
System.out.printf("%4d",d);
int temp=0;//临时变量,用于交换
//过程,从0~9开始,每次找最小的放的前面
for(int i=0;i<arr.length-1;++i){
temp=arr[i];//假设为最小值
for(int j=i;j<arr.length;++j){
if(temp>arr[j]){//当有比最小值还小的,则置为最小值
//将之前的最小值与新的最小值交换,前面的则为有序
temp=arr[j];
arr[j]=arr[i];
arr[i]=temp;
}
}
}
System.out.println("\n排序后");
for(int d:arr)
System.out.printf("%4d",d);
System.out.println();
}
public static void main(String[] args){
int[] array=new int[]{10,3,5,8,9,1,4,2,6,7};
//排序并输出
sort(array);
Scanner scanner=new Scanner(System.in);//用来接收控制台输入
int len=0;//数组长度
System.out.print("请输入数组长度:");
len=scanner.nextInt();//接收到数组长度
if(len<=0){//长度不合法,退出
System.out.println("输入错误");
System.exit(0);
}
int[] input_array=new int[len];//创建数组
System.out.println("请依次输入数字,以回车区分:");
int count=0;
while(count<len){
//依次为数组赋值
input_array[count++]=scanner.nextInt();
}
//排序并输出
sort(input_array);
}
}
关于java数组从大到小排序的内容到此结束,希望对大家有所帮助。