开发者社区> 问答> 正文

什么是快速排序,

什么是快速排序,

展开
收起
知与谁同 2018-07-21 17:41:35 1540 0
2 条回答
写回答
取消 提交回答
  • 这个时候,玄酱是不是应该说点什么...
    快速排序是对冒泡排序的一种改进
    快速排序每趟记录最小数k 用最小数k来比较
    2019-07-17 22:50:20
    赞同 展开评论 打赏
  • 快速排序是平均速度最快的排序方法,思想如下:

    每趟选中一个元素,并把这个元素插入到它的正确位置,
    也就是说每趟排完之后,选中元素的左边都小于它,右边元素都大于它。然后
    再分别对其左边部分和右边部分进行快速排序。

    排序函数如下

    /*排序函数*/
    /*入口参数:数组,数组起始元素下标,末端元素下标*/
    /*返回值:排好序后的数组*/
    void sort(DataType a[],int left,int right)
    {
    DataType temp;
    int i,j;
    i=left;j=right;
    temp=a[left];
    while(i<j)
    {
    while(i<j&&a[j].Average>temp.Average)j--;
    if(i<j)
    {
    a[i]=a[j];
    i++;
    }

    while(i<j&&a[i].Average<temp.Average)i++;
    if(i<j)
    {
    a[j]=a[i];
    j--;
    }
    }
    a[i]=temp;

    if(left<i)sort(a,left,i-1);
    if(i<right)sort(a,i+1,right);
    }
    2019-07-17 22:50:20
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载