您的位置:首页 > 其它

快速排序

2016-12-09 16:05 127 查看

#define SIZE 20

int partition(int l, int r, int data[SIZE])

{

 int v = data[r];

 int i = l - 1;

 int j = r;

 while(1){

  while(data[++i] < v);

  while(v < data[--j]) if(j == i) break;

  if(j <= i) break;

  int t = data[i]; data[i] = data[j]; data[j] = t;

 }

 int t = data[i]; data[i] = data[r]; data[r] = t;

 return i;

}

void quickSort(int l, int r, int data[SIZE])

{

 if (r <= l) {

  return;

 }

 int p = partition(l, r, data);

 quickSort(l, p - 1, data);

 quickSort(p + 1, r, data);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: