免費模板素材網(wǎng)站有哪些萬網(wǎng)阿里云域名查詢
Java算法:
冒泡排序;
解析:將前后兩個數(shù)對比,將大的數(shù)(或小的)調(diào)換至后面,每輪將對比過程中的最大(或最小)數(shù),調(diào)到最后面。每輪對比數(shù)減一;初始對比數(shù)為數(shù)組長度-1.
import java.util.Arrays;public class Test816 {public static void main(String[] args) {int[] arr = {5,2,3,1};// ???????System.out.println(arr);for(int i = 0;i < arr.length-1 ; i ++){???//需要排序的輪數(shù)(數(shù)組長度-1)for (int j = 0; j < arr.length-i-1 ; j++){?//每輪排序需要多少次if (arr[j] > arr[j+1]){int b = arr[j];arr[j] = arr[j+1];arr[j+1] = b;}}}System.out.println(Arrays.toString(arr));}}
選擇排序:
解析:選擇第一個數(shù)依次與其他元素對比,數(shù)值小的或(大的)交換位置至前方(小的為順序,大的為逆序),每對比一輪選擇數(shù)向后移動一位。
import java.util.Arrays;public class Test816 {public static void main(String[] args) {int[] arr = {5,2,3,1};for (int i = 0; i < arr.length - 1; i++) {for(int j = i+1;j < arr.length;j++){if(arr[j] < arr[i]){//i在前j在后,順序就j<i.//兩數(shù)調(diào)換位置int a = arr[i];arr[i] = arr[j];arr[j] = a;}}}System.out.println(Arrays.toString(arr)); ???}}
選擇排序的優(yōu)化:新建一個數(shù)min記錄較小數(shù)的下標(初始值為輪數(shù)數(shù)i的下標);然后通過對比,將min改為比它小的數(shù)的下標;一輪循環(huán)后判斷min是否等于初始值i,不相等則調(diào)換位置?!搩?yōu)化減少了交換次數(shù),優(yōu)化性能i
mport java.util.Arrays;public class Test816 {public static void main(String[] args) {int[] arr = {5,2,3,1};for (int i = 0; i < arr.length - 1; i++) {int min = i;for(int j = i+1;j < arr.length;j++) {if (arr[j] < arr[i]) {//i在前j在后,順序就j<i.//min記錄新下標min = j;}//一輪完成后獲得該輪最小值的的下標if (i != min) {判斷是否與初始下標相同,不同則交換數(shù)據(jù)。int a = arr[i];arr[i] = arr[min];arr[min] = a;}}}System.out.println(Arrays.toString(arr)); ??}}
查找算法:
二分查找:通過對比中間值與目標值的的小來減小對比范圍;當(dāng)中間值小于目標值時,取中間值+1到末尾的中間值與目標對比,重復(fù)步驟,直至首尾相同。返回該值。
public class Test19 {public static void main(String[] args) {int[] arr = {7,23,79,81,103,127,131,147};int left,mid,right;System.out.println(bancha(arr,103));}///傳入數(shù)組A,以及要搜索的數(shù)據(jù)public static int bancha(int[] a,int date){int left = 0,right = a.length - 1;while(left <= right) {int mid = (left + right) / 2;if (a[mid] > date) {right = mid - 1;} else if (a[mid] < date) {left = mid + 1;} else {return mid;// ???????????????break;}}return -1;}}