您当前的位置: 首页 >  c语言

跋扈洋

暂无认证

  • 5浏览

    0关注

    221博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

快速排序(C语言实现)

跋扈洋 发布时间:2022-09-22 10:18:39 ,浏览量:5

快速排序
  • 概念
  • 算法实现
  • 后续

概念

快速排序的基本思想是基于分治法的,在待排序表中任选一个基准元素,通过一趟排序将待排序划分为独立的两部分,前半部分所有元素均比枢轴元素小,后半部分所有元素均比枢轴元素大,此时枢轴元素就放在了最终的位置,然后分别对两个字表递归重复上面的过程,直至每部分内只有一个元素或空为止,即所有元素放在了其最终位置上。

算法实现

快速排序比冒泡排序优良的地方在于它的每次比较不是相邻元素的一次一次比较,而分别从两端开始”探测”的,先从右往左找一个小于枢轴元素的数,放到枢轴的左边,再从左往右找一个大于枢轴的数,放在枢轴的右边。

#include 
#include 
#include 
void Quick_sort(int a[],int low,int high);
int Partition(int a[],int low,int high);
int main()
{
    int k;
    int num[9]={9,8,7,4,6,5,1,2,3}; 
    int sortsize=sizeof(num)/sizeof(num[0]);
    Quick_sort(num,0,sortsize);
    for(k=0;k            
关注
打赏
1663745539
查看更多评论
0.0374s