package yr.can;
import java.util.Scanner;
public class bubblesort {
public static void main(String[] args) {
// int array[] = {1,6 ,3 ,8 ,60 ,7 };
Scanner in = new Scanner(System.in);
System.out.println("输入数组长度:");
**int length = in.nextInt();**
System.out.println("请输入一组数:");
//先定义length才可以定义数组为int []array = new int [length]的这样的形式
**int []array = new int [length];**
Scanner sc = new Scanner(System.in);
for (int i = 0; i < length; i++) {
array[i] = sc.nextInt();
}
System.out.println("排序前为");
for(int i = 0; i < length; i++) {
System.out.printf(array[i]+" ");
}
System.out.println();
bubblesort(array,length);
System.out.println("排序后为");
for(int i = 0; i <length; i++) {
System.out.printf(array[i]+" ");
}
}
public static void bubblesort(int []array,**int length**) {
**for(int i = 0 ;i<length - 1;i++) {
for(int j = 0;j<length - 1-i;j++) {**
if(array[j]>array[j+1]) {
int temp = array[j];
array[j]= array[j+1];
array[j+1] = temp;
}
}
}
}
}
*/
- case1:
-
如果数组长度是事先定下来而且比较大的话
-
如:
-
int []array = new int [5000];
-
int length = 9;
-
case2:System.out.println("排序后为"); for(int i = 0; i < length; i++) { System.out.printf(array[i]+" "); } public static void bubblesort(int []array) { int temp = 0; 此处 for(int i = 0 ;i<array.length - 1;i++) { 此处 for(int j = 0;j<array.length - 1-i;j++) { if(array[j]>array[j+1]) { temp = array[j]; array[j]= array[j+1]; array[j+1] = temp; } } bubblesort()方法中若比较的是array.length, 则输出的只是长为length的全为0的数; 特别的要是输入的书里面有负数则会显示出来, 否则如果全是正数,就只是输出0;
-
如果数组长度是事先定下来而且比较大的话
-
如:
-
int []array = new int [20];
-
int length = 9;
-
System.out.println("排序后为"); for(int i = 0; i < array.length; i++) { System.out.printf(array[i]+" "); } 输出的值为前面的9个数是排序后正常的数,后面(20-9=)11个为0;
/*