java排序算法?世界上最快的排序算法
一、Java数组排序几种排序方法详细一点
这是平时经常用到的排序方法整理,简单易懂
快速排序:首先是最简单的Array.sort,直接进行排序:
publicstaticvoidmain(String[]args){
int[]arr={4,3,5,1,7,9,3};
Arrays.sort(arr);
for(inti:arr){
System.out.println(i);
}
点击运行即可输出已排序的数组数字。
2、部分排序法:使用Array.sort还可进行选择想要排序的部分数字,如将下角标编号为1~4的数字进行排序,其他数字顺序不变。
publicstaticvoidmain(String[]args){
int[]arr={4,3,5,1,2,9,3,0};
Arrays.sort(arr,1,4);
for(inti=0;i<arr.length;i++){
System.out.print(arr[i]+",");
}
}
输出结果为:4,1,3,5,2,9,3,0,???可见仅下标为1~4的数字进行了排序。
3、冒泡排序法:顾名思义,从下到上,两两进行比较,越小的越往上,从而形成由小到大的排序。
publicstaticvoidbubble(int[]arr){
inttemp;
//根据角标进行比较,
for(inti=0;i<arr.length;i++){
//j是数组的最后一个角标
for(intj=arr.length-1;j>i;j--){
if(arr[j]<arr[j-1]){
//从后往前进行比较,小数往前,一轮之后最小数就在最前面了
temp=arr[j-1];
arr[j-1]=arr[j];
arr[j]=temp;
}
}
}
}
publicstaticvoidmain(String[]args){
int[]arr={3,22,5,3,66,2,9};
bubble(arr);
//使用foreach循环输出
for(intx:arr){
System.out.println(x);
}
//使用字符串表达形式输出,输出形式更为直观
System.out.println(Arrays.toString(arr));
}
二、在java中,怎么将已经获取到的list随机排序
你可以在执行完list.addAll(blankList)后,就执行shuffle操作,这个时候选择题和填空题就是随机的了,然后再执行list.addAll(rootList)把应用题放进去就是了这样的话应用题之前的填空题和选择题是随机排序的,然后应用题在最后面
三、Java冒泡排序中i、j各代表什么意思
int[]data={432,3,32,5445,12,122,34,11,45,678}; //1.冒泡排序(由大到小) for(inti=0;i