自己动手之 快速排序

来源:互联网 发布:不惑 知天命 编辑:程序博客网 时间:2024/05/29 16:06
 
#include<stdio.h>#include<malloc.h>#define Elem int typedef struct sqlist{    Elem key ;    int data ;    }sqlist ;void quicksort(sqlist R[] , int min , int max){    int i ,j ;    i = min ;    j = max ;    sqlist temp ;        if(min<max){        temp = R[i] ;                while(i != j){            while(i<j && temp.key < R[j].key){                j-- ;            }            if(i<j){                R[i] = R[j] ;            }            while(i<j && temp.key > R[i].key){                i++ ;            }            if(i<j){                R[j] = R[i] ;            }        }    R[i] = temp ;    quicksort(R , min , i-1) ;    quicksort(R , i+1 , max) ;    }    }void main(){    sqlist dataSort[10] ;    int i = 0 ;    for(i = 0 ; i < 10 ; i++){        dataSort[i].key = 10 - i ;        dataSort[i].data = i ;    }    quicksort(dataSort , 0 , 9) ;    for(i = 0 ; i < 10 ; i++){        printf("key:%d  data:%d \n",dataSort[i].key,dataSort[i].data) ;    }    } 

原创粉丝点击