steven-zhou 发表于 2013-1-27 04:58:22

荷兰国旗排序

有一整型一维数组,要求在时间复杂度为O(N)的情况下,把小于零的数置于数组的前面,大于零的数放置于数组后面。
void holandflag_sort(int a[], int size){    int i, j, k;    i = 0;    j = 0;    k = size - 1;    while (j < k)      switch (a) {      case RED:            swap(a, i, j);            i++;            j++;            break;      case WHITE:            j++;            break;      case BLUE:            swap(a, j, k);            k--;            break;      }}static inline void swap(int a[], int pa, int pb){    int tmp;    tmp = a;    a = a;    a = tmp;}
页: [1]
查看完整版本: 荷兰国旗排序