快速排序Linux下C 实现

这次、给出快速排序的实现,主要代码如下:

1、排序头文件:quickSort.h

#ifndef QUICKSORT_H   #define QUICKSORT_H   extern void quickSort(int *pArr, int length);   #endif  

2、排序源文件:quickSort.c 

#include "quickSort.h"       void quick_Sort(int * pArr, int left, int right)   {           if(left >= right)            {                   return;           }           int k = *(pArr+left);           int l,r;           l=left;           r=right;           while(left < right)           {                   while(*(pArr+right)>k && right> left)                   {                           right--;                   }                   if(left!=right)                   {                           *(pArr+left)=*(pArr+right);                           left++;                   }                   while(*(pArr+left)<k && left < right)                   {                           left++;                   }                   if(left!=right)                   {                           *(pArr+right)=*(pArr+left);                           right--;                   }           }           *(pArr+left)=k;              if(l < left-1)           {                   quick_Sort(pArr, l, left-1);           }           if(r > left+1)           {                   quick_Sort(pArr, left+1, r);           }   }      void quickSort(int *pArr, int length)   {           quick_Sort(pArr, 0, length-1);   }  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/bf15ff1b8043ba0ca53fd8ded575bf7f.html