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; } }