public class ArraySort {
public static void main(String[] args) {
System.out.println("-------------------有关数组的排序方法-------------------------");
//创建一个数组
int arr[] = new int[]{23,99,8,34,134,9,1,0,3,9};
//创建一个数组排序的对象
ArraySort as = new ArraySort();
as.selectArray(arr);
//调用冒泡排序的方法
as.bubblesort(arr);
}
//冒泡排序法
public void bubblesort(int[] array){
for(int i=1;i<array.length;i++){
for(int j=1;j<array.length-i;j++){
//比较相邻两个元素的大小,较大的往后靠
if(array[j]>=array[j+1]){
int temp = array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
showArray(array);
}
//直接选择排序法
public void selectArray(int[] array){
int index;
for (int i = 1; i < array.length; i++) {
index = 0;
for (int j = 1; j <= array.length - i; j++) {
if (array[j] > array[index]) {
index = j;
}
}
// 交换在位置array.length-i和index(最大值)两个数
int temp = array[array.length - i];// 把第一个元素值保持到临时变量中
array[array.length - i] = array[index];// 把第二个元素值保存到第一个元素单元中
array[index] = temp;// 把临时变量也就是第一个元素原值保持到第二个元素中
}
showArray(array);// 输出直接选择排序后的数组值
}
//将排序后的元素打印出来
public void showArray(int[] array){
for(int i:array){
System.out.println(i);
}
//System.out.println();
}
}