my quick sort

来源:互联网 发布:淘宝有趣便宜小玩意 编辑:程序博客网 时间:2024/06/06 02:28
#include <stdio.h>#define SWAP(A,B) {A ^= B; B ^= A; A ^= B;}void quickSort(int arr[],int left,int right){int i,j,mid;if(left < right){mid = arr[(left + right) / 2];i = left - 1;j = right + 1;while(1){while(arr[++i] < mid);while(arr[--j] > mid);if(i >= j)break;SWAP(arr[i],arr[j]);}quickSort(arr,left,i - 1);quickSort(arr,j + 1,right);}}int main(){int i;int arr[] = {3,1,5,2,7,6,9,8,4};int left = 0;int right = sizeof(arr) / sizeof(arr[0]);for(i = 0; i < right; i++)printf("%d ",arr[i]);printf("\n");quickSort(arr,left,right);for(i = 0; i < right; i++)printf("%d ",arr[i]);printf("\n");return 0;}

原创粉丝点击