假如按照从小到大的顺序排列,先拿第一个元素a,然后将其与其它的元素一一对比如果之后的元素比a大,那么就将俩个元素的值对调,每次遍历出一个元素在其对应的位置。所以时间复杂度固定为O(n2)。
public class Select{
public static void main(String[] args) {
int data[] = {6, 5, 9, 7, 2, 8};
System.out.println("原始数据为:");
//打印
for (int i=0;i<6;i++) {
System.out.print(data[i] + " ");
}
System.out.println();
//选择排序
for(int i=0;i<data.length;i++) {
for (int j=i+1;j<data.length;j++) {
if(data[i] > data[j]) {
int tmp = data[i];
data[i] = data[j];
data[j] = tmp;
}
}
System.out.print("第" + (i+1) + "次排序后的结果: ");
for (int k=0;k<data.length;k++) {
System.out.print(data[k] + " ");
}
System.out.println();
}
}
}