一个没搞成的快速排序

4 views
Skip to first unread message

Feng Lu

unread,
Apr 3, 2008, 8:56:30 PM4/3/08
to os...@googlegroups.com
C真是神奇呃~。。连数组大小都要当作参数传递才行(好像是,要不得不到,动态的数组怎么办-_-)

前两天看书的时候看到一个快速排序,想用C实现一下(怕考试里有),结果搞半天都没成功~~

quick_sort.c

#include <stdio.h>
int main(){
       printf("hello %s \n","me");
       int a[] = {4,2,8,7,9,5};
       print_array(a,6);
       sort(a,0,5);
       print_array(a,6);
}
int sort(int a[],int l,int h){
       if(l<h){
               int k = p(a,l,h);
               sort(a,l,k-1);
               sort(a,k+1,h);
       }
return 1;
}
int p(int a[],int l,int h){
       int pivot = a[l];
       int i,j;
       i=l; j=h;
       //while(i<j){
               while(i<j&&a[i]<pivot){
                       i++;
               a[j] = a[i];
               }
               /*while(i<j&&a[j]>pivot){
                       i++;
               a[i] = a[j];
               }*/
       //}
       a[i] = pivot;
       print_array(a,6);
       return j;
}
int print_array(int* a,int len){
       int i;
       for(i=0; i<len; i++){
               printf("%d,",a[i]);
       }
       printf("\n");
}

--
0000
MININEWS.INFO
Mininews是一个业界微新闻站点,添加xiaoh...@hotmail.com为MSN好友
做最敏捷的媒体,人人都可以是记者,关注身边正在发生的事。[M]

wang xin

unread,
Apr 9, 2008, 11:28:55 PM4/9/08
to os...@googlegroups.com
基础太差!

2008/4/4 Feng Lu <00...@mininews.info>:

Feng Lu

unread,
Apr 10, 2008, 2:02:14 AM4/10/08
to os...@googlegroups.com
-_-...给补个课嘛



在08-4-10,wang xin <xer...@gmail.com> 写道:
Reply all
Reply to author
Forward
0 new messages