看不懂这个简单的排序算法,求说明

package com.imooc.look;


import java.util.Arrays;


public class 排序算法 {


/**

* @param args

*/

public static void main(String[] args) {


int scors[]= {18,34,56,23,45,10,7,34,46,23};

int arr[] = new int[101];

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

arr[scors[i]] = 1;

}

for(int i=0,j=0;i<=arr.length-1&&j<=scors.length-1;i++){

if(arr[i] == 1){

scors[j++] = i;

}

}

System.out.println(Arrays.toString(scors));

}

}



易丿天
浏览 1691回答 2
2回答

损失函数

int scors[]= {18,34,56,23,45,10,7,34,46,23};//创建分数数组 int arr[] = new int[101];//新建一个长度为101的数组,为什么是101,因为分数最大值是100 for (int i = 0; i < scors.length-1; i++) {//遍历scors数组 arr[scors[i]] = 1;//关键:将分数作为arr数组的下标存储,比如scors为18那么arr[18]=1 } for(int i=0,j=0;i<=arr.length-1&&j<=scors.length-1;i++){//遍历arr数组 if(arr[i] == 1){ scors[j++] = i;//将arr数组值为1的下标(也就是分数)赋值给scors数组,这相当与就是将scors数组排序。 } }望采纳!
打开App,查看更多内容
随时随地看视频慕课网APP