这是我做的 , 希望对你有帮助 能服用的代码都给他封装成函数
class ArrayT
{
public static void main(String[] args)
{
int[] arr = {5,1,6,4,2,8,9};//定义数组
//排序前
printArray(arr);
//升序排序
bubbleSort(arr);
//排序后
printArray(arr);
//降序排序
bubbleSort_2(arr);
//排序后
printArray(arr);
}
//打印数组方法
public static void printArray(int[] arr)
{
System.out.print("[");
for (int x=0; x<arr.length; x++)
{
if (x != arr.length - 1)
{
System.out.print(arr[x]+", ");
}
else
System.out.println(arr[x]+"]");
}
}
//比较数据,交换位置方法
public static void swap(int[] arr,int a,int b)
{
int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
//算法冒泡升序排列
public static void bubbleSort(int[] arr)
{
for (int x=0; x<arr.length ; x++)
{
for (int y=0; y<arr.length-x-1; y++)//-x:让每一比较的元素减少,-1:避免角标越界。
{
if (arr[y]>arr[y+1])
{
swap(arr,y,y+1);
}
}
}
}
//冒泡算法降序排列
public static void bubbleSort_2(int[] arr)
{
for (int x=0; x<arr.length ; x++)
{
for (int y=0; y<arr.length-x-1; y++)//-x:让每一比较的元素减少,-1:避免角标越界。
{
if (arr[y]<arr[y+1])
{
swap(arr,y,y+1);
}
}
}
}
} |