int[] arr ={4,5,3,2,1,6};
bubbleSort(arr);
//selectSort(arr);
printArray(arr);
//int min = getMin(arr);
//int max = getMax_2(arr);
//System.out.println("max="+max);
//System.out.println("min="+min);
}
public static int getMax(int[] arr) {//传入一个int[] arr的数组.
int max = arr[0];//定义一个变量.
for(int x =1; x<arr.length; x++) {
if(arr[x]>max)
max = arr[x];
}
return max;
}
/*
获取最值的另一种方式,是不是可以把临时变量初始化为0呢?
可以,这种方式其实是在初始化数组中的角标.
*/
public static int getMax_2(int[] arr) {
int max = 0;//初始化数组中的角标
for (int x =1; x<arr.length; x++) {
if(arr[x]>arr[max])
max = x;
}
return arr[max];
}
//获取最小值
public static int getMin(int[] arr) {
int min = 0;
for (int x =1 ;x<arr.length; x++){
if(arr[x]<arr[min])
min = x;
}
return arr[min];
}
//选择排序
public static void selectSort(int[] arr) {
for (int x =0; x<arr.length-1; x++) {
for (int y = x+1; y<arr.length;y++ ) {
if(arr[x]>arr[y]) {
/*int temp = arr[x];//定义一个变量进行元素换位置操作
arr[x] = arr[y];
arr[y] = temp;*/
swap(arr,x,y);
}
}
}
}
//冒泡排序
public static void bubbleSort(int[] arr) {
for (int x =0;x<arr.length-1 ; x++) {
for (int y = 0; y<arr.length-x-1; y++) {//-x:让每一次比较的元素减少,-1:避免角标越界.
if (arr[y]>arr[y+1]) {
/*int temp = arr[y];
arr[y] = arr[y+1];
arr[y+1] = temp;*/
swap (arr,y,y+1);
}
}
}
public static void printArray(int[] arr) {//定义一个功能打印数组中的元素.
System.out.print("[");//给数组加上一对[]
for (int x =0;x<arr.length ; x++) {
if (x!=arr.length-1) //定义一个if语句如果x不等于数组中的最后一个元素那么就执行下面的输出语句.
System.out.print(arr[x]+", ");
else
System.out.println(arr[x]+"]");