首页 > 其他分享 >今天复习了一遍快速排序

今天复习了一遍快速排序

时间:2023-11-20 23:55:38浏览次数:38  
标签:sort include return 复习 int 一遍 快排 quick 排序

#include <iostream>
using namespace std;
#include <stdio.h>

const int N = 10e6 + 10;

int n;
int q[N];

void quick_sort(int q[], int l, int r)
{
    if (l >= r) return;
    int x = q[l];
    int i = l - 1;
    int j = r + 1;
    while(i<j)
    {
    do i++; while (q[i] < x);
    do j--; while (q[j] > x);
    if (i < j) swap(q[i], q[j]);
    }
    quick_sort(q, l, j);//将前面的一段进行快排
    quick_sort(q, j + 1, r);//将后面的一段进行快排
}//不断循环,直到一段里面只有一个数或者没有数的时候

int main()
{
    cin >> n;
    for (int i = 0; i < n; i++) cin >> q[i];
        
    quick_sort(q,0,n-1);

    for (int i = 0; i < n; i++) printf("%d ", q[i]);
    return 0;
}

 

标签:sort,include,return,复习,int,一遍,快排,quick,排序
From: https://www.cnblogs.com/muzhaodi/p/17845241.html

相关文章

  • 归并排序知识总结
    归并排序思维导图:知识点:如果原序列中两个数的值是相同的,它们在排完序后,它们的位置不发生变化,那么这个排序是稳定的。快速排序是不稳定的,归并排序是稳定的。快排变成稳定的=>使快排排序数组中的每个数都不同,将ai变成<ai,i>这个二元组,将ai的下标也放进来,使用双关键字排序。快速......
  • 数据库复习总结(并发控制一)
    目录前言3种并发异常丢失修改(写写异常)不可重复读(包括幻读情况读写异常)脏读为处理并发异常出现的机制--加锁加锁规范--封锁协议一级封锁协议(解决修改丢失)举例二级封锁协议(解决修改丢失,脏读)举例三级封锁协议(解决修改丢失,脏读,不可重复读)举例加锁产生问题活锁死锁解决办法针对活锁针......
  • JAVA冒泡排序
    //冒泡排序publicclassDemo05{publicstaticvoidmain(String[]args){int[]arr={4,1,5,2,3};for(inti=0;i<arr.length-1;i++){//外循环:控制比较轮数(数组长度-1)i:0,1,2,3for(intj=0;j<arr.length-1......
  • (二十一)C#编程基础复习——Array类
    Array类是C#中所有数组的基类,其中提供了一系列用来处理数组的操作,例如对数组元素进行排序、搜索数组中指定的元素等。Array类中提供了一系列属性,通过这些属性可以获取数组的各种信息。Array类中的常用属性有如下表所示:Array类中的方法,除了属性之外,Array类中还提供了一系列的方法......
  • List 函数排序操作,用对方法事半功倍!
    作为一名程序员,以下这些场景你肯定不陌生,1.数据分析和处理:在处理大量数据时,需要对数据进行排序以进行进一步的分析和处理。例如,在市场调研中,可能需要按照客户的购买频率对客户列表进行排序,以确定哪些客户最有可能购买产品或服务。2.报表生成:在生成报表时,往往需要按照特定的顺序对......
  • C++U3-第1课-基础排序(一)
    学习目标排序的概念  本阶段会学习的排序有 冒泡排序概念 第一轮比较,与交换 例题1:一趟交换 例题2:多躺比较,冒泡排序 【题意分析】进行n-1趟冒泡排序的过程,每一次输出当前一趟冒泡排序完的结果【思路分析】定义一个n,输入当前的n和储存n个数的数组for......
  • Java学习—计数排序
    计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。1.计数排序的特征当输入的元素是n个0到k之间的整数时,它的运行时间是Θ(n+k)。计数排序不是比较排序,排序的速度快于任......
  • 408---CO三轮复习---存储系统
    记录一下之前不被我重视的知识点重难点总结1、存储器的分类 ⭐⭐⭐2、主存储器 ⭐⭐⭐⭐3、外部存储器 ⭐⭐4、高速缓冲存储器 ⭐⭐⭐⭐⭐5、虚拟存储器 ⭐⭐⭐⭐⭐存储器的分类考点存储器的类型、求存储速度、主存带宽按存取方式分随机存储器(RAM).......
  • 大数据应用算法复习笔记
    许我人间一两风,吹散十万八千梦"余幼时即嗜code,家贫,无computer以观,每假借于电脑之家,拆板以刻,计日以还。既加冠,益慕算法之道,又患无cpp,java以游,遂至北理工,观此ppt。当余之读ppt也,负箧曳屣,行无暖气之中教中,穷冬烈风,银杏叶深数尺,面庞皲裂而不知。至舍,四支僵劲不能动,吾自持汤沃灌,以衾......
  • (段设期中复习) Great Ideas in Algorithm Analysis: Midterm Review
    DistanceAlgorithmsBasicsamplinglemma:Let\(S_1,\dots,S_n\subset[n]\)besetsofsizeatleast\(D\),thenrandomlychoose\(c(n/D)\logn\)elementswillmakeeach\(S_i\)containatleastoneelement.2-AdditiveApproximationofAPSPS......