排序
#include <stdio.h> #include <algorithm> using namespace std; void bubble(int *a, int len) { for(int i = 0; i < len - 1; i++) for(int j = 0; j < len - i - 1; j++) if(a[j] > a[j + 1]) swap(a[j], a[j + 1]); } void select(int *a, int n) { for(int i = 0; i < n - 1; i++) { int min = i; for(int j = i + 1; j < n; j++) if(a[min] > a[j]) min = j; if(min != i) swap(a[min], a[i]); } } void insert(int *a, int n) { for(int i = 0; i < n; i++) { int temp = a[i]; int j = i - 1; while(j >= 0 && a[j] > temp) { a[j + 1] = a[j]; j--; } if(j != i - 1) a[j + 1] = temp; } } void quick(int *a, int left, int right) { if(left >= right) return ; int i = left, j = right, key = a[left]; while(i < j) { while(i < j && key <= a[j]) j--; a[i] = a[j]; while(i < j && key >= a[i]) i++; a[j] = a[i]; } a[i] = key; quick(a, left, i - 1); quick(a, i + 1, right); } int main(int argc, char *argv[]) { int a[6] = {1, 3, 2, 5, 4, 2}; //bubble(a, 6); //select(a, 6); //insert(a, 6); //quick(a, 0, 6); for(int i = 0; i < 6; printf("%d ", a[i++])) ; return 0; }
仰望星空.......不忘初心!