码迷,mamicode.com
首页 > 编程语言 > 详细

十分钟记住快速排序(快速排序快速记忆方法)

时间:2020-02-25 23:06:30      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:art   记忆   十分钟   quic   amp   下标   排序快速   判断   int   

快速排序很简单,分为三步:

1.找中轴

2.左边快排

3.右边快排

注意事项:每一次快排之前都要判断左边的下标是否小于右边的下标

代码如下:

void quick_sort(int * data,int left,int right)

{

  if(left < right)

  {

    int index = partition(data,left,right);

    quick_sort(data,left,index-1);

    quick_sort(data,index+1,right);

  }

}

找中轴也分为三步:

1.选定一个中轴(以最左边的中轴为例)

2.从右往左找,右边赋值给左边

3.从左往右找,左边赋值给右边

代码如下:

int partition(int * data,int left,int right)

{

  int piovet = data[left];

  while(left < right)

  {

    while(data[right] >= piovet && left < right) right--;

    data[left] = data[right];

    while(data[left] <= piovet && left <right) left++;

    data[right] = data[left];

  }

  data[left] = piovet;

  return left;

}

 

十分钟记住快速排序(快速排序快速记忆方法)

标签:art   记忆   十分钟   quic   amp   下标   排序快速   判断   int   

原文地址:https://www.cnblogs.com/Alice-Fourier/p/12364405.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!