quicksort

来源:互联网 发布:java大数据处理技术 编辑:程序博客网 时间:2024/06/16 16:55
#include <stdio.h>#include <stdlib.h>typedef struct{   int r[100];   int length;}sqlist;int partition(sqlist*l,int low,int high){int pivotkey;pivotkey=l->r[low];l->r[0]=pivotkey;while(low<high){while(low<high && l->r[high]>=pivotkey)high--;l->r[low]=l->r[high]; while(low<high && l->r[low]<=pivotkey)low++;l->r[high]=l->r[low]; } l->r[low]=l->r[0];return low;} void quicksort(sqlist*l,int low,int high){int pivot;while(low<high){pivot=partition(l,low,high);quicksort(l,low,pivot-1);low=pivot+1;} } int main(){   int length,i;   scanf("%d",&length);   sqlist*l=(sqlist*)malloc(sizeof(sqlist));   l->length=length;   for(i=1;i<=length;i++){     scanf("%d",&l->r[i]);   }   quicksort(l,1,length);   for(i=1;i<=length;i++){   printf("%d ",l->r[i]);   }   return 0;}

0 0
原创粉丝点击