精华内容
下载资源
问答
  • Java对数组进行排序我试图制作一个由10个整数组成的程序,这些整数都有一个随机值,到目前为止还不错。但是,现在我需要对它们进行排序,从最低值到最高值,然后将其打印到屏幕上,我将如何这样做呢?(很抱歉,...

    用Java对数组进行排序

    我试图制作一个由10个整数组成的程序,这些整数都有一个随机值,到目前为止还不错。

    但是,现在我需要对它们进行排序,从最低值到最高值,然后将其打印到屏幕上,我将如何这样做呢?

    (很抱歉,这么小的程序有这么多代码,我不太擅长循环,刚刚开始使用Java)public static void main(String args[]){

    int [] array = new int[10];

    array[0] = ((int)(Math.random()*100+1));

    array[1] = ((int)(Math.random()*100+1));

    array[2] = ((int)(Math.random()*100+1));

    array[3] = ((int)(Math.random()*100+1));

    array[4] = ((int)(Math.random()*100+1));

    array[5] = ((int)(Math.random()*100+1));

    array[6] = ((int)(Math.random()*100+1));

    array[7] = ((int)(Math.random()*100+1));

    array[8] = ((int)(Math.random()*100+1));

    array[9] = ((int)(Math.random()*100+1));

    System.out.println(array[0] +" " + array[1] +" " + array[2] +" " + array[3]

    +" " + array[4] +" " + array[5]+" " + array[6]+" " + array[7]+" "

    + array[8]+" " + array[9] );        }

    展开全文
  • java对数组进行排序Problem: 问题: In this problem, we would have an unordered array with consecutive distinct natural numbers [1,2,3,..n], where n is the size of the array. We have to find the ...

    java对数组进行排序

    Problem:

    问题:

    In this problem, we would have an unordered array with consecutive distinct natural numbers [1,2,3,..n], where n is the size of the array. We have to find the minimum number of swaps required to sort the array in ascending order.

    在此问题中,我们将拥有一个具有连续的不同自然数[1,2,3,.. n]的无序数组,其中n是数组的大小。 我们必须找到按升序对数组进行排序所需的最小交换次数

    Note: Think and try by yourself before looking to the solution...

    注意:在寻求解决方案之前,请自己思考并尝试...

    Solution:

    解:

    This problem can be solved easily by observing the actual position of elements and their current position , the actual position of element in sorted array will be the a[cur]-1 (element-1), by tracking the actual position of element if we come back to the current element then there exist a cycle , then count the size of that cycle , the number of swaps will be cycling size-1, do this for all the cycles and add them together.

    通过观察元素的实际位置及其当前位置,可以很容易地解决此问题,如果我们跟踪元素的实际位置,则排序数组中元素的实际位置将为a [cur -1 ] ( element-1 )回到当前元素,然后存在一个循环,然后计算该循环的大小 ,交换次数将为循环size-1 ,对所有循环进行此操作并将它们加在一起。

    Example:

    例:

    Let an array: A =[2, 4, 5, 1, 3]

    设一个数组:A = [2,4,5,1,3]

    minimum swap required to sort an array in java

    There exist two cycles:
    Cycle 1: 2 → 4 → 1 → 2
    Cycle 2: 5 → 3 → 5

    存在两个周期:
    周期1:2→4→1→2
    周期2:5→3→5

    Size of cycle = number of nodes:
    Size of cycle 1=3
    Size of cycle 2=2

    周期大小=节点数:
    周期1的大小= 3
    周期2 = 2

    Number of swaps: (3-1)+(2-1) = 3

    掉期数量: (3-1)+(2-1)= 3

    Program:

    程序:

    import java.io.*;
    import java.math.*;
    import java.util.*;
    
    public class Swap {
    	static int minimumSwaps(int[] arr) {
    		int swap=0;
    		boolean visited[]=new boolean[arr.length];
    
    		for(int i=0;i<arr.length;i++){
    			int j=i,cycle=0;
    
    			while(!visited[j]){
    				visited[j]=true;
    				j=arr[j]-1;
    				cycle++;
    			}
    			
    			if(cycle!=0)
    				swap+=cycle-1;
    		}
    		return swap;
    	}
    
    	public static void main(String[] args) {
    		
    		Scanner scanner = new Scanner(System.in);
    		int n = scanner.nextInt();
    		int[] arr = new int[n];
    		
    		for (int i = 0; i < n; i++) {
    			arr[i] = scanner.nextInt();
    		}
    		
    		int res = minimumSwaps(arr);
    		System.out.println(res);
    		scanner.close();
    	}
    }
    
    

    Output

    输出量

        4
        4 3 2 1
        2
    
    
    

    翻译自: https://www.includehelp.com/java-programs/minimum-swaps-required-to-sort-an-array.aspx

    java对数组进行排序

    展开全文
  • 主要介绍了java对数组进行排序的方法,涉及java数组排序的技巧,需要的朋友可以参考下
  • java对数组进行排序

    2017-12-07 22:40:32
    JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。 快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。 冒泡法是运用遍历数组进行比较,通过不断的比较...

    JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。

    快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。

    冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来。

    选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过比较循环,输出有序的数组。

    插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。下面我就将他们的实现方法一一详解供大家参考。

    <1>利用Arrays带有的排序方法快速排序

    import java.util.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
                             for(int j=i+1;j
                                     if (args[i]>args[j]){
                                             int temp=args[i];
                                             args[i]=args[j];
                                             args[j]=temp;
                                     }
                             }
         

    展开全文
  • JAVA对数组进行排序

    2019-01-12 09:38:14
    import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int []a=new int [9]; for (int i = 0; i &...
    
    import java.util.Arrays;
    import java.util.Scanner;
    
    public class Main {
    
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    		int []a=new int [9];
    		for (int i = 0; i < a.length; i++) {
    			a[i]=sc.nextInt();
    		}
    		Arrays.sort(a);
    		for (int i : a) {
    			System.out.print(i+" ");
    		}
    	}
    }

     

    展开全文
  • 本文实例讲述了java对数组进行排序的方法。分享给大家供大家参考。具体如下:public class Test1 {public static void showArray(int[] array) {for (int n = 0; n < array.length; n++) {System.out.print(array...
  • java 对数组进行排序

    2013-02-02 14:10:55
    System.out.println("排序前:"); showArray(a); int[] b = bubbleSort(a); System.out.println("排序后:"); showArray(b); } } 执行结果: 排序前: 12 24 25 4 9 68 45 7 排序后: 4 7 9 12 ...
  • 数据结构:用Java对数组进行排序

    千次阅读 2017-09-24 21:51:50
    /** 编写一个程序,实现顺序表的各种基本运算,并在此基础上设计一个测试程序,完成如下功能: (1)根据输入顺序表的长度n和...import java.util.Arrays; import java.util.Scanner; public class four { public st
  • 主要介绍了java利用冒泡排序对数组进行排序的方法,实例分析了冒泡排序的概念与java实现方法,以及java操作数组的相关技巧,需要的朋友可以参考下
  • 程序代码import java.util.Scanner;public class MyFun2 {public static void main(String[] args) {int[] arr = { 9, 8, 3, 5, 2 };System.out.print("冒泡排序前 :");printArray(arr); // 打印数组元素bubbleSort...
  • Java如何对数组进行排序排序是一种以一定顺序排列列表或数组元素的方法。该顺序可以是升序或降序。数字和词典顺序(字母顺序)是一种广泛使用的顺序。在本节中,我们将学习如何对数组进行排序Java中使用升序和降序...
  • java对数组进行排序Java Array is like a container that can hold a fixed number of the same type of items, it can be primitive types as well as Objects. Java Array就像一个容器,可以容纳固定数量的相同...
  • 走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。public class SelectSort {public static void main(String[] args){int[] arr1={14,16,9,25,18,63,45,30};selectSort(arr1);fo...
  • java中用冒泡排序法对数组进行排序对数组进行排序通常使用冒泡排序法,冒泡排序法的排序原理如下:(1).对数组中相邻的两个元素从前向后进行扫描。(2).如果相邻两个元素中的第一个数比第二个数大,就交换这两个数,...
  • 本文实例讲述了java利用冒泡排序对数组进行排序的方法。分享给大家供大家参考。具体如下:一、冒泡排序:利用冒泡排序对数组进行排序二、基本概念:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟...
  • java对数组进行排序 Java Array is like a container that can hold a fixed number of the same type of items, it can be primitive types as well as Objects. Java Array就像一个容器,可以容纳...
  • 用冒泡排序对数组进行排序 并将排序后的数组输出 import java.util.Scanner; public class ArrayDemo3 { public int[] Buddlesort() { int[] a=new int [10]; Scanner ad=new Scanner(System.in); System.out....
  • java对数组进行排序使用Arrays.sort即可(底层在不同情况下使用插入排序,快速排序和归并排序)(1)对基本数据类型排序(以int为例)import java.util.Arrays;public class Main {public static void main(String[] args)...
  • 在这里,您将找到一个有关如何按升序或降序对数组进行排序的示例。packageorg.nhooo.example.util;importjava.util.Arrays;importjava.util.Collections;publicclassSortArrayWithOrder{publicstaticvoidmain...
  • 下面是一组对数组对象进行排序的代码: package com.sun; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; ...
  • 比较相邻的元素。如果第一个比第二个大...第一次是对n个数进行n-1次比较,进行到最后第n个的一个是最大的;第二次是对n-1个数进行n-2次比较,进行到最后第n-1个的一个是最大的;持续每次对越来越少的元素重复上面的...
  • 冒泡排序:冒泡排序是最常用的数组排序算法之一,它排序数组元素的过程总是小数往前放,大数往后放,类似水中气泡往上升的动作,所以称作冒泡排序。 我这里代码依旧是用eclipse敲的,如下 public class MaopaoSort {...
  • Java示例,展示如何使用Arrays.sort()对Array进行排序。 该代码应该是不言自明的。 import java.util.Arrays; import java.util.Collections; public class ArraySorting{ public static void main(String ...
  • 冒泡排序简介: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,...
  • 可以使用java.util.Arrays.sort()方法对对象数组进行排序,并使用单个参数,即要排序的数组。演示此的程序如下所示-示例importjava.util.Arrays;publicclassDemo{publicstaticvoidmain(Stringargs[])throwsException...
  • 我有一个练习,我必须按以下方式对数组进行排序:>除以4而没有余数的数字将是数组中的第一个(例如4,8,12,16).>将剩余的1除以4的数字将是数组中的第二个(1,5,9).>将剩余的2除以4的数字将是数组中的第三个(2,6...
  • public class test_BubbleSort { public static void ... //冒泡排序 int[] arr = new int[]{5, 7, 2, 9, 4, 1, 0, 5, 7}; BubbleSort(arr); System.out.println(Arrays.toString(arr)); } /*5,7,2,9,4,1,0,5,7

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,173
精华内容 469
关键字:

java对数组进行排序

java 订阅