您现在的位置是:首页 > 正文

快速排序为什么要从右边开始

2024-01-30 22:54:19阅读 0

为什么要从右边开始:

假如对 6 1 2 7 9进行从小到大的排序,6作为基准数,如果从左边开始,i首先到达一个比6大的数,这个数为7,这时候再从左边走,但这时7到最后一个数之间已经没有比6小的数,所以6只能与7进行替换,我们要做的是从小到大的排序,这样把一个大于6的数排到前边,显然是错误的,所以应从右边进行,这样即使右边到达某个数后,这个数左边即使没有大于基准数的数,那也是把这个比基准数小的数替换到首位,达到基准数左边都比右边小的效果。

以下附上代码

#include<stdio.h>
int a[101];

void quiksort(int left,int right)
{

 

  
    int i,j,temp,t;
    if(left>=right){
        return;
    }
    i=left;
    j=right;
    temp=a[i];
    while(i!=j){
        while(a[j]>=temp&&i<j){
            j--;
        }
        while(a[i]<=temp&&i<j){
            i++;
        }
        t=a[i];
        a[i]=a[j];
        a[j]=t;    
    
    }
    a[left]=a[i];
    a[i]=temp;
    quiksort(left,i-1);
    quiksort(i+1,right);

}

int main()
{
    int p,n;
    scanf("%d",&n);
    for(p=1;p<=n;p++){
        scanf("%d",&a[p]);
    }
    quiksort(1,n);
    for(p=1;p<=n;p++){
        printf("%d",a[p]);
    }
}

网站文章

  • 《TensorFlow深度学习》(七)——Keras高层接口

    《TensorFlow深度学习》(七)——Keras高层接口

    Keras 是一个主要由Python 语言开发的开源神经网络计算库,最初由François Chollet编写,它被设计为高度模块化和易扩展的高层神经网络接口,使得用户可以不需要过多的专业知识就可以简洁、快速地完成模型的搭建与训练。本文学习tf.keras

    2024-01-30 22:54:12
  • 详解基于MATLAB的车牌识别系统设计与实现(1):车牌定位

    详解基于MATLAB的车牌识别系统设计与实现(1):车牌定位

    车牌识别系统主要包括车牌定位、字符分割和字符识别三个核心模块。车牌定位是利用车牌的颜色和形状特征确认并获取汽车的车牌位置;字符分割是将获取到的车牌切割成单个字符;字符识别目前主要有基于模板匹配算法和基于人工神经网络算法对切割的字符进行识别。本节内容主要讲解车牌定位,主要内容有:读取图像预处理边缘检测形态学操作定位裁剪主函数代码如下 :// main.mclose all;cle...

    2024-01-30 22:53:41
  • ACPI电源管理的6个状态(S0-S5) 热门推荐

    ACPI 电源管理的6个状态:S0: 主机正常工作状态S1: CPU停止工作,wakeup时间为:0sS2: CPU关闭,wakeup时间为:0.1sS3: 主机中除了内存以外其他所有部件都停止工 作,wakeup时间为:0.5sS4: 主机将内存中的信息写入到硬盘中,之后关闭所有组件,wakeup时间为:30sS5: 关机

    2024-01-30 22:53:33
  • Servlet Cookie取不到值原因

    现象: 在测试带Cookie的HTTP请求时发现,服务端用request.getHeader(&quot;cookie&quot;)可以去到值;但是用request.getCookies()却不行Co...

    2024-01-30 22:53:16
  • Java中的类与变量

    一、静态 1、类的静态成员与类直接相关,与对象无关,在一个类的所有实例之间共享同一个静态成员,该类的对象共享其静态成员变量的值 2、静态成员函数中不能调用非静态成员,静态成员变量可被该类的所有方法访问...

    2024-01-30 22:52:48
  • 网络安全,别报!!!

    网络安全,别报!!!

    网络安全究竟要不要报?7年网工如是说

    2024-01-30 22:52:38
  • 思考R-CNN的一些问题,如何提取特征,分类,训练,测试

    思考R-CNN的一些问题,如何提取特征,分类,训练,测试

    1.R-CNN是什么 论文链接 把region proposal和CNNs结合起来,所以该方法被称为R-CNN:Regions with CNN features,整个检测系统有三个模块构成。 第一个...

    2024-01-30 22:52:31
  • React自定义Hooks——useLocalStorage

    封装任何的函数,都是将一些重复的逻辑单独封装到一个函数。而不是为了封装而封装。 定义useLocalStorage,是因为localStorage,在不同的组件中获取,更新。每次更新或者获取都是loc...

    2024-01-30 22:52:25
  • 数据通信与计算机网络 TASK0

    数据通信与计算机网络 TASK0

    数据通信与计算机网络 TASK0

    2024-01-30 22:51:55
  • goland的激活码 热门推荐

    goland的激活码 http://idea.youbbs.org

    2024-01-30 22:51:49