选择排序:选择数组中某一元素,与其他元素进行比较,从而排列出有序数组
冒泡排序:利用相邻数组间的比较,排列出有序数组
本文所犯错误:在互换数组元素时 未指定数组 应改为如下格式:public static void swap(int[] arr,int a,int b)//a,b为角标
public class Test {
public Test() {
// TODO 自动生成的构造函数存根
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
int[] arr=generate();
show(arr);
selectSort(arr);
show(arr);
bubble(arr);
show(arr);
}
public static int[] bubble(int[] arr)
{
for(int i=0;i<arr.length-1;i++)
for(int j=0;j<arr.length-i-1;j++)
{
if(arr[j]>arr[j+1])
{
int temp;
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
//swap(arr[j],arr[j+1]);//失败原因 没有针对指定数组
}
}
return arr;
}
public static int[] selectSort(int[] arr)
{
for(int i=0;i<arr.length-1;i++)
for(int j=i+1;j<arr.length;j++)
{
if(arr[i]>arr[j])
{
int temp;
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
return arr;
}
public static void swap(int a,int b)
{
int temp;
temp=a;
a=b;
b=temp;
}
public static int[] generate()
{
int[] arr=new int[9];
for(int i=0;i<arr.length;i++)
{
arr[i]=(int)(Math.random()*100);
}
return arr;
}
public static void show(int[] arr)
{
System.out.print("arr[]:");
for(int i=0;i<arr.length;i++)
{
if(i!=arr.length-1)
System.out.print(arr[i]+",");
else
System.out.println(arr[i]);
}
}
}