java 数组排序的方法
发布网友
发布时间:2022-05-01 01:26
我来回答
共5个回答
热心网友
时间:2022-04-26 08:15
JAVA 中数组的几种排序方法:
1、数组的冒泡排序
[java] view plaincopyprint?
public void bubbleSort(int a[]) {
int n = a.length;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1; j++) {
if (a[j] > a[j + 1]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
2、数组的选择排序
[java] view plaincopyprint?
public void selectSort(int a[]) {
for (int n = a.length; n > 1; n--) {
int i = max(a, n);
int temp = a[i];
a[i] = a[n - 1];
a[n - 1] = temp;
}
}
3、数组的插入排序
[java] view plaincopyprint?
public void insertSort(int a[]) {
int n = a.length;
for (int i = 1; i < n; i++) { //将a[i]插入a[0:i-1]
int t = a[i];
int j;
for (j = i - 1; j >= 0 && t < a[j]; j--) {
a[j + 1] = a[j];
}
a[j + 1] = t;
}
}
4、设置两层循环
[java] view plaincopyprint?
for(int i=0;i<arrayOfInts.length;i++)
{
for(int j=i+1;j<arrayOfInts.length;j++)
{
if(arrayOfInts[i]>arrayOfInts[j])
{
a=arrayOfInts[i];
arrayOfInts[i]=arrayOfInts[j];
arrayOfInts[j]=a;
}
}
}
5、还有一种方法就是用Arrays.sort()方法:
[java] view plaincopyprint?
//导入包
import java.util.Arrays;
public class Two3{
public static void main(String[]args)
{
int[]arrayOfInts={32,87,3,589,12,7076,2000,8,622,127};
Arrays.sort(arrayOfInts);
for(int i=0;i<arrayOfInts.length-1;i++)
{
System.out.print(arrayOfInts[i]+" ");
}
}
热心网友
时间:2022-04-26 09:33
Arrays.sort(shuzu);
for(int i=shuzu.length-1;i>=shuzu.length-5;i--){
System.out.println(shuzu[i]);
}
热心网友
时间:2022-04-26 11:08
1。排序完后自己在把数字倒置。
2。另一种方法:你的学生是否有单独的类如Student,有的话就好办些,重写compareTo(Object o)方法,没有的话就得使用Compartor。在比较大小时,返着来,我比你大返回-1。
热心网友
时间:2022-04-26 12:59
Arrays.sort()是按升序对数组进行排序的,当然会是矮的在前面了。
热心网友
时间:2022-04-26 15:07
自已写的方法啊.练习练习.刚开始不要用API方法.