排序:
1.冒泡排序(什么?你也是冒泡人?):
void bubble_Sort(int* arr, int n) { for (int i = 0; i<n-1; ++i) for (int j = 0; j<n-i-1; ++j) if (arr[j] > arr[j+1]) swap(arr[j], arr[j+1]); }
2.快速排序:
void quickSort(int* arr, int low, int high) { if (low >= high) return; int kase = low; for (int i = low; i<high; i++) if (arr[i] < arr[high]) swap(arr[kase++], arr[i]); swap(arr[kase], arr[high]); quickSort(arr, low, kase-1); quickSort(arr, kase+1, high); }
3.归并排序:
void mergeSort(int arr[], int temp[], int low, int high) { if (low >= high) return; int len = high-low, mid = len/2 + low; int start1 = low, end1 = mid, start2 = mid+1, end2 = high; mergeSort(arr, temp, start1, end1); mergeSort(arr, temp, start2, end2); int index = low; while(start1 <= end1 && start2 <= end2) temp[index++] = arr[start1] <= arr[start2] ? arr[start1++] : arr[start2++]; while(start1 <= end1) temp[index++] = arr[start1++]; while(start2 <= end2) temp[index++] = arr[start2++]; for (int i = low; i<=high; i++) arr[i] = temp[i]; }
4.待续....