简单算法

二分法:

package com.java.base2.Practice;

public class Test12 {
    public static void main(String[] args) {
        int[] array = {-98, -34, 2, 34, 54, 66, 79, 105, 210, 333};

        int dest = -34;

        int head = 0;
        int end = array.length - 1;

        boolean isFlag = true;

        while (head <= end) {
            int middle = (head + end) / 2;
            {
                if (dest == array[middle]) {
                    System.out.println("找到了,索引位置为" + middle);
                    isFlag = false;
                    break;
                } else if (array[middle] > dest) {
                    end = middle - 1;
                } else {
                    head = middle + 1;
                }
            }
        }

        if (isFlag) {
            System.out.println("对不起没有找到");
        }
    }
}

 冒泡排序

package com.java.base3.Practice;


/**
 * 数组的冒泡排序
 */
public class BubbleSortTest {
    public static void main(String[] args) {
        int[] arr = {43, 32, 76, -98, 0, 64, 33, -21, 32, 99};

        // 冒泡排序
        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;
                }
            }
        }


        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]+ "\t");
        }
    }
}

 

posted @ 2019-07-13 22:28  Emotiona°小吃货  阅读(130)  评论(0)    收藏  举报