import java.util.Scanner;
class test
{
public static void swap(int data[],int a,int b)
{
int temp =data[a];
data[a]=data;
data=temp;
}
public static void SortNum(int []data)
{
int temp;
Boolean b;
for(int i=0;i<data.length-1;i++)
{
b =false;
for(int j=0;j<data.length-1-i;j++)
if(data[j]>data[j+1])
{
swap(data,j,j+1);
b =true;
}
if(!b)
{
break;
}
}
}
public static int[] InputNum()
{
Scanner input = new Scanner(System.in);
int data[] = new int[5];
for(int pos=0;pos < data.length;pos++)
{
System.out.println("请输入5个数据,现在输入第"+(pos+1)+"个元素:");
data[pos] = input.nextInt();
}
return data;
}
public static void ShowNum(int data[])
{
for(int pos=0;pos < data.length;pos++)
System.out.print(data[pos]+" ");
System.out.println(" ");
}
public static void main(String[] args)
{
int data[];
data = InputNum();
System.out.println("------------------------------------------------------------------------------");
System.out.print("原数组为:");
ShowNum(data);
System.out.print("排序后数组:");
SortNum(data);
ShowNum(data);
}
}
说明:
在函数中定义一个bool变量,在每趟对剩余的数字排序时,先把它设为false,然后进行一趟排序完后,如果变量保持false,说明已经排好序了,则停止排序,不然进行下一趟排序。 |
|