示例#1
0
void sort (char *a, int n) 
{
    if (n < 2)
        return;
    int m = n / 2;
    sort(a, m);
    sort(a + m, n - m);
    sort_sub(a, n, m);
}
示例#2
0
static url
sort_sub (url add, url to) {
  if (is_or (to)) {
    if (add <= to[1]) return add | to;
    return to[1] | sort_sub (add, to[2]);
  }
  if (add <= to) return add | to;
  else return to | add;
}
示例#3
0
url
sort (url u) {
  if (is_or (u))
    return sort_sub (u[1], sort (u[2]));
  else return u;
}