華為 P50/Pro 系列官方保護殼渲染圖曝光:多種款式供選擇
阿新 • • 發佈:2021-07-29
package org.apache.ibatis.binding; import com.alibaba.fastjson.JSON; import org.junit.After; import org.junit.Test; import java.util.Scanner; /** * @description: * @author: AlbertXe * @create: 2021-08-07 12:10 */ public class A { public static void main(String[] args) { Scanner s = new Scanner(System.in); String line = s.nextLine(); String r = line.replaceAll("([0-9]+)", "*$1*"); System.out.println(r); } int[] arr = {7, 5, 8, 9, 3, 7}; @After public void after() { System.out.println(JSON.toJSONString(arr)); } @Test public void bubbleSort() { // bubbleSort(arr); bubbleSort2(arr); } @Test public void directInsert() { directInsert(arr); } @Test public void select() { select(arr); } @Test public void shellSort() { shellSort(arr); } /** * 希爾排序 1234 步長2 13 24 * 最後一步是插入排序 * @param arr */ private void shellSort(int[] arr) { int l = arr.length; int h = 1; while (h < l / 3) { h = 3 * h + 1; // 1 ,4 ,7 } while (h >= 1) { for (int i = h; i < l; i++) {// 8 9 10 多組 每組中最後一個數據 int temp = arr[i]; int j; for (j = i; j >=h && temp<arr[j-h]; j-=h) { arr[j] = arr[j - h]; //前面資料後移 也會空出一個空格 } arr[j] = temp; // k空出插入資料 } h /= 3; } } /** * 直接選擇排序 每輪最小放對應的起始位置 * @param arr */ private void select(int[] arr) { int l = arr.length; for (int i = 0; i < l-1; i++) { int tem = i; // 存最小元素下標 for (int j = i+1; j < l; j++) { if (arr[tem] > arr[j]) { tem = j; } } if (tem != i) { swap(arr, i, tem); } } } /** * 直接插入排序 * @param arr */ private void directInsert(int[] arr) { for (int i = 0; i < arr.length; i++) { int j = i; while (j > 0 && arr[j] < arr[j - 1]) { // 1個數有序 swap(arr, j, j - 1); j--; } } } /** * 冒泡 比較左右 * @param arr */ private void bubbleSort(int[] arr) { int l = arr.length; for (int i = 0; i < l-1; i++) {// 8個數 排前個 for (int j = 0; j < l-1-i; j++) { if (arr[j] > arr[j + 1]) { swap(arr, j, j + 1); } } } } /** * 冒泡優化2 * @param arr */ private void bubbleSort2(int[] arr) { int l = arr.length; for (int i = 0; i < l-1; i++) { boolean flag = true; //表示迴圈未交換 for (int j = 0; j < l-1-i; j++) { if (arr[j] > arr[j + 1]) { swap(arr, j, j + 1); flag = false; } } if (flag) { break; } } } private void swap(int[] arr, int i, int j) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } }