下面是我自己以前学习的时候做的练习,拿来给你看看,跟你的程序对比一下,看是不是思想、程序还是编程方法不对,希望对你可以有帮助
class Shuzulianxi//类名.
{
/*
1、下面是对数组进行选择排序的(功能块)程序。
*/
public static void Selectsort(int [] arr)//这个功能块是用于数组的选择比较换位的。
{
for(int x=0;x<arr.length-1;x++)//外循环控制的是从数组的角标0开始往后依次的比较。
{
for(int y=x+1;y<arr.length;y++)//内循环控制的是从x之后的一位角标(x+1)开始往后依次的比较。
{
if(arr [x]>arr [y])//如果x角标对应的数组值大于y角标对应的数组值。
{
int temp=arr [x];//定义一个变量,并且将角标[x]对应的数组值赋给变量temp。
arr [x] =arr [y];//然后将角标[y]对应的数组值赋给角标[x]。
arr [y] =temp;//最后将变量temp对应的的数组值赋给角标[y]。
}
}
}
}
/*
2、下面是主函数部分.
*/
public static void main(String [] args)//主函数。
{
int [] arr={5,1,6,4,2,8,9};//定义一个数组。
//排序前。
PrintArray(arr);
//排序。
Selectsort(arr);//调用数组选择排序的功能块。
//排序后。
PrintArray(arr);//调用打印并输出已经排好序的数组功能块。
/*
3、下面是打印数组的(功能块)程序。
*/
public static void PrintArray(int [] arr)//这个功能块是用于打印并输出数组的。
{
System.out.print("[");//输出语句,输出结果是[。
for(int x=0;x<arr.length;x++)//for循环语句
{
if(x!=arr.length-1)//if选择判断语句(!=)这个符号的意思是不等于。
System.out.print(arr[x]+",");//输出语句,输出结果是一个(数组值和,)。
else//否则。
System.out.println(arr[x]+"]");//输出语句,输出结果是一个(数组值和])。
}
}
} |