数组的高级用法

1、冒泡排序法:数组

      把一个数组值由小到大排序:两两相比,只到全部数都比较完,数组是由一组由小到大的排序排序

        int[] array = { 9, 2, 3, 5, 4, 6, 8, 7, 1 };
        // 冒泡排序:{ 1, 2, 3,4,5,6,7,8,9};
        for (int k = 0; k < array.length - 1; k++) {
            for (int i = 0; i < array.length - 1 - k; i++) {
                if (array[i] > array[i + 1]) {
                    int temp = array[i];
                    array[i] = array[i + 1];
                    array[i + 1] = temp;
                }
            }
        }数据

2、选择排序法:拿第一个数与后面数相比,小的交换到前面的位置,只到全部数都比较完,数组是由一组由小到大的排序。查询

int[] array = { 9, 2, 3, 5, 4, 6, 8, 7, 1 };while

for (int y = 0; y < array.length - 1; y++) {
            for (int i = y; i < array.length; i++) {
                if (array[y] > array[i]) {
                    int temp = array[y];
                    array[y] = array[i];
                    array[i] = temp;
                }
            }
        }return

 

2、折半(二分)查找数据法

要在一个有序的数据里查找一个数所在的位置能够利用对半查找,这样就能够把查询速度提升一半。

[1,2,3,4,5,6,7,8,9,11]

int c = 5;        while (true) {            int min = 0;            int max = array.length - 1;            int mid = (min + max) / 2;            if (min > max) {                return -1;            }            if (array[mid] == c) {                return mid;            } else {                if (c > array[mid]) {// 在右边                    min = min + 1;                } else {// 在左边                    max = max - 1;                }                return mid;            }        }

相关文章
相关标签/搜索