java 数组 直接选择排序
例如:对数组 a[]={12,34,2,1,43,67}分别进行升序和降序排列
public class Arrays {
public static void main(String[] args) {
// TODO 自动生成的方法存根
int a[] ={12,34,2,1,43,67};
int index;//创建一个int变量;作为指针一直指向最大的数
for(int i=1;i<a.length;i++){//i做为循环次数
index=0;//每次循环完,index为0,然后进行下一次循环
for(int j=1;j<=a.length-i;j++){
//a.length-i为每次循环对比的次数
if(a[index]<a[j]){
index=j;
}//使指针总指向最大的数
}
int temp=a[a.length-i];
//把每次循环的最后一个数赋给临时变量temp
a[a.length-i]=a[index];
//把每次循环最大的数赋给每次循环的最后一个数
a[index]=temp;//把临时变量赋给a[index]
//用第3变量,完成每次循环最大数与最后一个数的兑换
}
for(int e:a){
System.out.print(e+"<");
}//用foreach语句遍历数组
}
}
升序输出结果:
public class Arrays {
public static void main(String[] args) {
// TODO 自动生成的方法存根
int a[] ={12,34,2,1,43,67};
int index;//创建一个int变量;作为指针一直指向最小的数
for(int i=1;i<a.length;i++){//i做为循环次数
index=0;//每次循环完,index为0,然后进行下一次循环
for(int j=1;j<=a.length-i;j++){
//a.length-i为每次循环对比的次数
if(a[index]>a[j]){
index=j;
}//使指针总指向最小的数
}
int temp=a[a.length-i];
//把每次循环的最后一个数赋给临时变量temp
a[a.length-i]=a[index];
//把每次循环最小的数赋给每次循环的最后一个数
a[index]=temp;//把临时变量赋给a[index]
//用第三变量,完成每次循环最小数与最后一个数的兑换
}
for(int e:a){
System.out.print(e+">");
}//用foreach语句遍历数组
}
}
降序排列结果输出: