Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SelectionSort算法将所有元素替换为零_Java_Arrays_Sorting_Selection Sort - Fatal编程技术网

Java SelectionSort算法将所有元素替换为零

Java SelectionSort算法将所有元素替换为零,java,arrays,sorting,selection-sort,Java,Arrays,Sorting,Selection Sort,主要类别: import java.util.Random; public class Main{ public static void main(String args[]){ Main m = new Main(); m.run(); } private void run(){ Random r = new Random(); int[] array = new int[50];

主要类别:

import java.util.Random;

public class Main{
    public static void main(String args[]){
        Main m = new Main();
        m.run();
    }
    
    private void run(){
        Random r = new Random();
        int[] array = new int[50];
        
        for(int el:array){
            el = r.nextInt(50);
            System.out.print(el + " ");
        }
        System.out.println("");
        
        long start = System.currentTimeMillis();
        SelectionSort.run(array,50);
        long finish = System.currentTimeMillis();
        long timeElapsed = finish - start;
        
        for(int el:array){
            System.out.print(el + " ");
        }
        System.out.println("");
        System.out.println(timeElapsed);
    }
}
选择分类:

public class SelectionSort{
    public static void run(int[] array, int size){
        int m = 0;
        int temp = 0;
        for (int i=0; i<size-1; ++i){
            m = i;
            for (int j=i+1; j<size; ++j){
                if (array[m]>array[j]){
                    m = j;
                }
            }
            temp = array[i];
            array[i] = array[m];
            array[m] = temp;
        }
    }
}
为什么都是零?我做错了什么?真的不知道会是什么。。。我多次编辑我的代码,仍然没有解决方案。。。我是新手,你能帮我吗

我知道java有排序方法,但我正在做一些练习

int[] array = new int[10];
int i = 0;

for (int el : array) {
    el = r.nextInt(50);
    array[i++] = el;
    System.out.print(el + " ");
}
您忘记填充数组了


公共类Foo{
公共静态void main(字符串参数[]){
Foo m=新的Foo();
m、 run();
}
私家车{
int[]arr=createRandomArray(50);
System.out.println(Arrays.toString(arr));
长启动=System.currentTimeMillis();
新建SelectionSort().accept(arr);
长时间=System.currentTimeMillis()-启动;
System.out.println(Arrays.toString(arr));
System.out.println(“时间(毫秒):”+时间);
}
私有静态int[]createRandomArray(int长度){
随机=新随机();
int[]arr=新的int[长度];
对于(int i=0;i
int[] array = new int[10];
int i = 0;

for (int el : array) {
    el = r.nextInt(50);
    array[i++] = el;
    System.out.print(el + " ");
}
public class Foo {

    public static void main(String args[]) {
        Foo m = new Foo();
        m.run();
    }

    private void run() {
        int[] arr = createRandomArray(50);
        System.out.println(Arrays.toString(arr));

        long start = System.currentTimeMillis();
        new SelectionSort().accept(arr);
        long time = System.currentTimeMillis() - start;

        System.out.println(Arrays.toString(arr));
        System.out.println("time (ms): " + time);
    }

    private static int[] createRandomArray(int length) {
        Random random = new Random();
        int[] arr = new int[length];

        for (int i = 0; i < arr.length; i++)
            arr[i] = random.nextInt(50);

        return arr;
    }
}

final class SelectionSort implements Consumer<int[]> {

    @Override
    public void accept(int[] arr) {
        for (int i = 0, j = i; i < arr.length - 1; i++, j = i) {
            for (int k = i + 1; k < arr.length; k++)
                j = arr[k] < arr[j] ? k : j;

            swap(arr, i, j);
        }
    }

    private static void swap(int[] arr, int i, int j) {
        int tmp = arr[i];
        arr[i] = arr[j];
        arr[j] = tmp;
    }
}