将数字从大到小排序的方法:
例如简一点的冒泡排序,将第一个数字和后面的数字逐个比较大小,如果小于,则互换位置,大于则不动。此时,第一个数为数组中的最大数。然后再将第二个数与后面的数逐个比较,以次类推。
示例代码如下:
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、插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。
冒泡排序
<span style="font-size:18px;">package test;
public class Maopao {
public static void main(String[] args) {
int[] array={1,2,5,3,10,21,0};
getSortD_X(array);
getSortX_D(array);
}
public static void getSortD_X(int[] array){
for (int i = 0; i < array.length; i++) { for(int j=0;j<array.length-1;j++){ if(array[i]>array[j]){
int temp=array[i];
array[i]=array[j];
array[j]=temp;
}
}
}
System.out.print("从大到小:");
for (int i = 0; i < array.length; i++) { if(i==array.length-1){
System.out.println(array[i]);
}else{ System.out.print(array[i]+",");
}
}
} public static void getSortX_D(int[] array){ for (int i = 0; i <array.length; i++) { for(int
j=0;j<array.length-i-1;j++){ if(array[j]>array[j+1]){
int temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
System.out.print("从小到大:");
for (int i = 0; i < array.length; i++) { if(i==array.length-1){
System.out.println(array[i]);
}else{ System.out.print(array[i]+",");
}
}
}
}</span>
运行最后输出
从大到小:21,10,5,3,2,1,0
从小到大:0,1,2,3,5,10,21
扩展资料:
冒泡排序算法的原理如下:
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
参考资料:冒泡排序-百度百科
本回答被网友采纳冒泡排序是最常用的数组排序算法之一,它排序数组元素的过程总是小数往前放,大数往后放,类似水中气泡往上升的动作,所以称作冒泡排序。如果我们要进行从大到小进行排序,只需要反过来操作即可,即把比较中教小的数往后排,较大数往前排。
示例代码如下:
public static void main(String[] args) {
int []array = {4,3,5,1,2}; //声明一个整型数组,并初始化
String str = "这几个数的排序为:"; //声明一个String类型的变量str,并初始化int temp; //声明一个整型变量
for(int j=array.length-1;j>0;j--) { //交换两个相邻的数
for(int i=0;i<j;i++){
if(array[i]>array[i+1]){
temp = array[i];
array[i] = array[i+1];
array[i+1] = temp;
}
}
}
System.out.println(str);
for(int serial = 0;serial < array.length;serial++){
System.out.println(array[serial]); //打印数组
}
}
拓展资料:
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java语言中虽然没有virutal关键字,但是使用虚方法的频率却远远大于C/C++语言,这意味着运行时对方法接收者进行多态选择的频率要远远大于C/C++语言,也意味着JIT编译器在进行一些优化,如方法内联时难度要远大于C/C++的静态优化编译器。
参考资料:百度百科-Java
本回答被网友采纳代码如下:
/*
* 在键盘上输入N个整数,试编制程序使该数组
* 中的数按照从大到小的次序排列。
*/
package stuClass;
import java.util.Arrays;
import java.util.Scanner;
public class Test09 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.println("请输入数组长度:");
int length=input.nextInt();
int[] result=new int[length];
System.out.println("请输入数组元素:");
for(int i=0;i<length;i++) {
result[i]=input.nextInt();
}
Test09 tt=new Test09();
tt.reverse(result, 0, length-1);
}
public void reverse(int[] nums,int start,int end) {
Arrays.sort(nums);
while(start<end) {
int temp=nums[start];
nums[start]=nums[end];
nums[end]=temp;
start++;
end--;
}
System.out.println(Arrays.toString(nums));
}
}
代码效果:
本回答被网友采纳可以采用冒泡排序的方式代码如下所示:
public class Test {
public static void main(String[] args) {
int [] array = {10,3,1000,135,435,86,58,30,79};
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怎么让数组的数字从大到小排序?
将数字从大到小排序的方法:例如简一点的冒泡排序,将第一个数字和后面的数字逐个比较大小,如果小于,则互换位置,大于则不动。此时,第一个数为数组中的最大数。然后再将第二个数与后面的数逐个比较,以次类推。示例代码如下: public class Test { public static void main(String[] args) { i...
java 输入任意几个数字,怎样将他们从大到小排序?
public static void main(String[] args) { Scanner scan = new Scanner(System.in)。}System.out.println("从大到小输出:");for (int m = num.length-1; m >=0; m--) {System.out.println(num[m]);\/\/从大到小输出}} String[] str = scan.nextLine().split(" "),\/\/ 输入时...
Java数组排序 几种排序方法详细一点
JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来。选择排序法是将数组的第一个数据作为最大或者最小的...
Java数组排序几种排序方法详细一点
1. 快速排序法:快速排序是利用分治策略的一种排序算法。它通过选取基准元素,将数组分为两部分,一部分小于基准元素,另一部分大于基准元素,然后递归地对这两部分继续进行快速排序。Java中的`Arrays.sort()`方法内部实际上是使用了快速排序算法。示例代码:```java import java.util.Arrays;public class...
java 比较数组中数值大小
自己写的话,可以用冒泡或者选择排序:都是从大到小的 冒泡:int[] arr=new int[]{34,5,23,38,1,89,54,78,9,7};int temp=0;for(int i=arr.length-1;i>0;i--){ for(int j=arr.length-1;j>0;j--){ if(arr[j]>arr[j-1]){ temp=arr[j];arr[j]=arr[j-1];arr[j-...
...由5个整数组成的数组,按照其内元素的从大到小排序
int []a=new int[5];Scanner in=new Scanner(System.in);System.out.print("输入5个数:");for(int i=0;i<5;i++){ a[i]=in.nextInt();} Arrays.sort(a);\/\/这里排出来是从小到大 for(int i=0;i<2;i++){ \/\/这里做的就是一个倒序的处理 将由小到大 改为由大到小 in...
怎么用java代码按从大到小排序红桃8红桃8红桃Q红桃7红桃4红桃J红桃9红...
这样的排序。实现很简单,代码如下:String[] str={"红桃5","红桃Q","红桃8","红桃9","红桃K","红桃J","红桃6","红桃7"};List<String> list=new ArrayList<String>();for(int i=0;i<str.length;i++){ list.add(str[i]);} Collections.sort(list);\/\/升序排序 Collections.reverse...
怎样实现数组按整数大小排序?
(1)交换排序:参照求最大值和最小值的思想,按升序排序的基本过程是将第一个数字与下一个数字进行比较。如果后面的数字很小,那么交换和第一个数字的位置。否则,不要交换。(2)气泡排序:交换和重复两个相邻数字的过程。一般来说,如果有n个数字要排序,则需要n-1起泡。(3)选择排序:在交换...
java里升序和降序最简短的代码
直接调用jdk里面的方法Arrays.sort(args)方法。。。而且这个方法重载实现了多个参数,排序下标[N~M]位数字~倒叙,升序等等~
使用eclipse如何实现随机数字由大到小的排序
int[] arr = new int[n];Random rand = new Random();\/\/产生随机数 for(int i = 0; i<n; i++)\/\/ 产生n个小于100的随机数 arr[i] = rand.nextInt(100);System.out.println("未排序前 : "+ Arrays.toString(arr));\/\/输出随机产生的数组 Arrays.sort(arr);System.out.println("...