选择排序:需要俩个循环一个控制数一个控制数组的下标。
时间复杂度:T(n) = O(n2)
public static void main(String[] args) {
int[] a = new int[6];
int temp;
System.out.print("随机产生6个100以内的整数" + "\n");
for (int i = 0; i < a.length; i++) {
a[i] = (int) (Math.random() * 100);
System.out.print(a[i] + " ");
}
for (int i = 0; i < a.length; i++) { //假设i现在=2,也就第二个循环,第二个数需要和后面的数比较所有下面,因为第一个数不用在比大小了所以下面必须j=i。
for (int j = i; j < a.length; j++) {//j为数组下标
if (a[i] > a[j]) {//
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
System.out.print("\n" + "从小到大排序结果:" + "\n");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
}
运行结果: