public class Method {
public static void main(String[] args) {
int[] arr = {3, 1, 2, 4, 5, 8, 5, 1};
System.out.println(insertSort(arr).toString());
}
//二分法查找
public static int search(int[] arr, int key) {
int start = 0;
int end = arr.length - 1;
while (start <= end) {
int mid = (end + start)/2;
if (key < arr[mid]) {
end = mid - 1;
}else if (key > arr[mid]) {
start = mid + 1;
}else {
return mid;
}
}
return -1;
}
//插入排序
public static int[] insertSort(int[] arr) {
int i, j, insertNote;
for (i = 1; i < arr.length; i++) {
insertNote = arr[i];
j = i - 1;
while (j >= 0 && insertNote < arr[j]) {
arr[j+1] = arr[j];
j--;
}
arr[j+1] = insertNote;
}
return arr;
}
//冒泡排序
public static int[] select(int[] arr) {
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]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
return arr;
}
// 选择排序升序
public static void selectSort(int[] arr){
for (int i = 0; i < arr.length; i++) {
int tmp = arr[i];
int index=i;
for (int j = i+1; j < arr.length; j++) {
if (arr[j]<tmp) {
tmp=arr[j];
index=j;
}
}
if (index!=i) {
//交换
arr[index]=arr[i];
arr[i]=tmp;
}
}
}
}
Java基本算法小记
最新推荐文章于 2022-09-25 15:31:24 发布