直接排序:
Collection.sort(lista,new Comparator<Person>() { });
Arrays.sort(arraya,new Comparator<Integer>() { });)
选择排序:
--数组
public static void main(String[] args) {
int arr[]={23,12,46,24,87,65,18,14,43,434,65,76};
//int arr[]={23,12,46,24,76};
//选择排序
int l=0;
for(int i=0;i<arr.length-1;i++){
for(int j=i+1;j<arr.length-1;j++){
if(arr[i]<arr[j]){
int t=arr[i];
arr[i]=arr[j];
arr[j]=t;
l++;
}
System.out.print("i="+i+"的第j="+j+"次交换\t");
for(int d=0;d<arr.length;d++){
System.out.print(arr[d]+"\t");
}
System.out.println();
}
}
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+"\t");
}
System.out.println("交换的次数为"+l);
}
冒泡排序:
--集合
public List<Students> demo(){
List<Students> list = new ArrayList<Students>();
for (int i = 0; i < list .size(); i++) {
for (int j = list .size()-1; j > i; j--) {
String no= list .get(j).getStudentNo();
String no_1= list .get(j-1).getStudentNo();
if (no.compareTo(no_1)>0) {
//互换位置
Student stu = list.get(j);
list.set(j, list.get(j-1));
list.set(j-1, stu );
}
}
}
return list
--数组
public static void test1(Integer[] arr){
int len =arr.length;
int temp;
for(int j=0;j<len-1;j++){
for(int i=0;i<len-1;i++){
if(arr[i]>arr[i+1]){
temp = arr[i];
arr[i] =arr[i+1];
arr[i+1] = temp;
}
}
System.out.println(Arrays.toString(arr));
}
}
经典基础排序之直接排序,选择排序,冒泡排序.
猜你喜欢
转载自blog.csdn.net/qq_41582642/article/details/84139366
今日推荐
周排行