狂奔的蜗牛

通过计算机成就人生

C++博客 首页 新随笔 联系 聚合 管理
  10 Posts :: 0 Stories :: 1 Comments :: 0 Trackbacks

#include <stdio.h>


int partition(int* a, int p, int r)

{

int i = p-1;

int x = a[r-1];

for (int j=p; j<r; j++) {

if (a[j-1] <= x) {

i++;

int temp;

temp = a[j-1];

a[j -1] = a[i-1];

a[i-1] = temp;

}

}

int temp;

temp = a[i];

a[i] = a[r-1];

a[r-1] = temp;

return i+1;

}


void quick_sort(int* a, int p,int r)

{

if (p < r) {

int q = partition(a, p, r);

quick_sort(a, p, q-1);

quick_sort(a, q+1, r);

}

}

int main()

{

int a[] = {2,8,5,4,7,9,11,1};

int size = sizeof a / sizeof a[0];

quick_sort(a, 1, size);

printf(" The final result is :");

for(int i=0;i<size;i++)

        printf("[%d]  ",a[i]);

    return 0;

}

posted on 2010-06-05 16:59 幽梦还乡 阅读(299) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理