import java.util.*;
//数组的排序
class ArrayDemo2
{
public static void main(String[] args)
{
//定义数组
int[] arr={12,-6,59,2,0,-21,-3,4,8,9};
//打印原数组
printArray(arr);
Arrays.sort(arr);
printArray(arr);
//选择排序从小到大排序
xuanZePaiXu( arr);
printArray(arr);
//冒泡排序
maoPaoPaiXu(arr);
printArray(arr);
}
//选择排序
public static void xuanZePaiXu(int[] arr)
{
System.out.println("选择排序结果:");
for(int x=0;x<arr.length-1;x++)
{
for(int y=x+1;y<arr.length;y++)
{
if(arr[x]>arr[y])
{//换位操作
arr[x]=arr[x]+arr[y];
arr[y]=arr[x]-arr[y];
arr[x]=arr[x]-arr[y];
}
}
}
}
//冒泡排序
public static void maoPaoPaiXu(int []arr)
{
System.out.println("冒泡排序结果:");
for(int a=0;a<arr.length-1;a++)
{
for(int b=0;b<arr.length-a-1;b++)//-1,目的避免角标越界。-a,每次比较的元素在减少。
{
if(arr[b]<arr[b+1])
//换位操作
{
arr[b] =arr[b]+arr[b+1];
arr[b+1]=arr[b]-arr[b+1];
arr[b] =arr[b]-arr[b+1];
}
}
}
}
//打印数组
public static void printArray(int [] arr)
{
System.out.print("[");
for(int y=0;y<arr.length;y++)
{
if(y==arr.length-1)
System.out.print(arr[y]);
else
System.out.print(arr[y]+",");
}
System.out.println("]");
}
}
|
|