1.数组排序方式
1. - > 冒泡排序:两个for循环,前后两个数对比,再交换
public static void bubbleSort(int[] arr){
int temp = Integer.MAX_VALUE;
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length-1-i; j++) {
if(arr[j] > arr[j+1]){
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
2. - > 选择排序,两个for循环,每次循环找出其中最大(最小的)数从数组的开头往后放,从后往前同理。
public static void choiceSort(int[] arr){
for (int i = 0; i < arr.length-1; i++) {
int index = i;
for (int j = i+1; j < arr.length; j++) {
if(arr[index] > arr[j]){
index = j;
}
}
int temp = arr[i];
arr[i] = arr[index];
arr[index] = temp;
}
}
2.面向对象OOP
1.成员变量和局部变量的区别
3. 牛客网中的
1.一定要考虑给定数组个数很少的情况,return 0
2.循环条件判定准确,不然容易出现数组下标越界异常以及没有达到想要完成的次数。
|