任意长度数组的冒泡排序
废话少说;开始走起,先来5个的
public class Sort{
//直接写方法
public static void sort (){
Scanner input = new Scanner(System.in)
int[] arr = new int[5];
//输入
System.out.println("输入你要排序的5位数");
for(int i = 0 ; i < arr.length-1; i++){
arr[i] = input.nextInt();
}
// 比吧!
for(int i = 0 ; i<arr.length-1; i++){
for(int j = 0 ; j<arr.length-i-1;j++){
if (arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
System.out.println("从小到大的排序顺序为:")
// 疯狂输出
for (int i = 0 ; i<arr.length-1;i++){
System.out.print(arr[i]+",");
}
}
public static void main (String[] args){
Sort.sort();
}
}
写到这里,顺便介绍一下不使用第三变量交换两个数位置的方法。
for(int j = 0 ; j<arr.length-i-1;j++){
if (arr[j]<arr[j+1]){
arr[j] = arr[j]+arr[j+1];
arr[j+1] = arr[j] - arr[j+1];
arr[j] = arr[j] - arr[j+1];
}
}
好了,现在来说说,怎样把固定的数组变成可变的任意长度数组,就是在控制台上随便输入,几个数都能比较,然后排序呢?
我说实话,我不知道!!!我不会!我骄傲了吗?