public class SelectionSort {
/**
* 选择排序
* by o(∩_∩)o...雪
*/
public static void main(String[] args) {
int a[] = {33,32,43,54,65,26,25,75,11,99};
System.out.print("选择排序初始数组:"); /*输出初始数组*/
for(int i=0;i<a.length;i++)
{
System.out.print(" "+a[i]);
}
System.out.println();
/*选择排序*/
for(int k=0;k<a.length-1;k++) //n趟遍历
{
int num = k;
int max = a[k];
for(int i=k+1;i<a.length;i++) //选出第k趟遍历中的最大值
{
if(a[i]>max)
{
max = a[i];
num = i;
}
}
int temp; /*将最大数与第k个数交换*/
temp = a[k];
a[k] = max;
a[num] = temp;
/*输出每一趟排序后的结果*/
System.out.print("第"+(k+1)+"趟排序结果: ");
for(int i=0;i<a.length;i++)
{
System.out.print(" "+a[i]);
}
System.out.println();
}
System.out.print("选择排序后的数组:"); /*输出排序后的数组*/
for(int i=0;i<a.length;i++)
{
System.out.print(" "+a[i]);
}
}
}
结果: