要求:对数组arr[]进行选择排序法排序。
思路:
1,从第一个元素(角标是0)开始,和它后面的每一个元素进行比较,把较小的数存放在第一个元素中,这样,第一个元素就是最小的值。
2,从第二个元素开始,和它后面的每一个元素进行比较,把较小的数存放在第二个元素中,这样,第二个元素就是除第一个外最小的值。
3,继续....
4,倒数第二个元素(角标是length-2),和倒数第一个元素(length-1)对比,较小的放在倒数第二个元素里面。
至此,排序完毕。
实现代码:
------------------------------------------------------------------
class temp1
{
public static void main(String[] args)
{
int arr[]={3,7,6,2,5,1,4,9,8};//定义一个无序数组
for (int x=0;x<arr.length ;x++ )//遍历并打印数组原值
{
System.out.print(arr[x]);
}
System.out.println();//换行
xuanze(arr);//调用xuanze进行排序
for (int x=0;x<arr.length ;x++ )//打印排序后的值
{
System.out.print(arr[x]);
}
}
public static void xuanze(int arr[])
{
for (int x=0;x<arr.length-1 ;x++ )
{
for (int y=x+1;y<arr.length;y++ )
{
if (arr[x]>arr[y])//交换位置
{
int temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}
}