首页 > 其他分享 >【板子】快速排序

【板子】快速排序

时间:2024-01-26 21:12:42浏览次数:37  
标签:freopen working int 板子 while key 排序 快速

#include<bits/stdc++.h>
using namespace std;

int a[114514];

void Quicksort(int l,int r);

int main()
{
    freopen("working.in","r",stdin);
    freopen("working.out","w",stdout);
    int n;
    cin>>n;
    srand(time(0));
    for(int i=1;i<=n;i++)
    {
        a[i]=rand()%10000;
        printf("%4d ",a[i]);
    }
    Quicksort(1,n);
    for(int i=1;i<=n;i++)
    {
        printf("%4d ",a[i]);
    }
    return 0;
}

//Function Implementation

void Quicksort(int l,int r)
{
    if(l>=r) return ; 
    int i=l,j=r;
    int key=a[l];
    while(i<j)
    {
        while(i<j && a[j]>=key) j--;
        a[i]=a[j];
        while(i<j && a[i]<=key) i++;
        a[j]=a[i];
        a[i]=key;
    }
    Quicksort(l,i-1);
    Quicksort(i+1,r);
}

标签:freopen,working,int,板子,while,key,排序,快速
From: https://www.cnblogs.com/yeyou26/p/17990731

相关文章

  • 【板子】归并排序
    #include<bits/stdc++.h>usingnamespacestd;constintN=1e6+6;intn;inta[N];intb[N];voidMergesort(intl,intr);longlongcnt;intmain(){freopen("working.in","r",stdin);freopen("working.out",&......
  • 【板子】树状数组(BIT)
    //lg1908求逆序对//Copyrightyeyou26#include<bits/stdc++.h>usingnamespacestd;#definelllonglongconstintN=(int)1e6+6;llsum;intn;structData{intorigin;intls;intid;}data[N];boolcmporigin(Datax,Datay){r......
  • 【板子】强连通分量(SCC)
    //强连通分量//lg2863求强连通分量的数量#include<bits/stdc++.h>usingnamespacestd;constintN=(int)2e4+4;intwhere[N];//这个点在哪个scc里intscccnt;intsccsize[N];intlow[N],dfn[N],idx;boolinstk[N];stack<int>stk;vector<int>e[N];intn,m;......
  • 【板子】字符串哈希
    //lgp3370//Copyrightyeyou26#include<bits/stdc++.h>usingnamespacestd;#defineullunsignedlonglongstrings;intn;constullp=998244353;ullnow_hash;ullv[100005];intcnt;intans;voidget_hash();voiddo_compare();voidinit()......
  • 【板子】字符串最小表示法
    //lgp1368//Copyrightyeyou26#include<bits/stdc++.h>usingnamespacestd;longlonga[600005];intn;voidinit();voidsolve(){inti=1,j=2,k=0;while(i<=n&&j<=n){k=0;while(a[i+k]==a[j+k]&&am......
  • 【板子】KMP
    //lgp3375//Copyrightyeyou26#include<bits/stdc++.h>usingnamespacestd;charp[1000005],s[1000005];intlenp,lens;intlst[1000005];voidinit();voidpre_work();voidkmp();voidout_put();intmain(){freopen("working.in",&qu......
  • 拓扑排序
    讲解  例题  第1题   拓扑序列对下图所示的有向图进行拓扑排序,得到的拓扑序列可能是() 第2题   拓扑序列_以下关于拓扑排序的说法中,错误的是()。 若某有向图存在环路,则该有向图一定不存在拓扑排序在拓扑排序算法中为暂存入度为零的顶点,可......
  • 拓扑排序模板
    给定一个DAG(有向无环图),如果从\(u\)到\(v\)有边,则认为\(v\)依赖于\(u\)。如果\(u\)到\(v\)有路径(\(u\)可达\(v\)),则称\(v\)间接依赖于\(u\)。我们将图中的顶点以线性方式进行排序,使得对于任何的顶点\(u\)到\(v\)的有向边\((u,v)\),都可以有\(u\)在\(v\)的......
  • 洛谷题单指南-排序-P1271 【深基9.例1】选举学生会
    原题链接:https://www.luogu.com.cn/problem/P1271题意解读:最直接的计数排序问题,借助一个桶h[N],对被投票的候选人x执行h[x]++,再按顺序遍历输出即可。100分代码:#include<bits/stdc++.h>usingnamespacestd;constintN=1005;inth[N];intmain(){intn,m;......
  • 【解答】面试题:如何快速解决跨库join表关联?
    面试题:如何快速解决跨库join表关联?有一天产品经理提了一个需求,要关联查询A库的xxx表和B库的xxx表(跨库join),做实时分析(查询的表不固定,后期业务还会调整)。Java研发更改代码实现比较困难,大数据团队反馈可以,但不能保证实时性,会有30分钟左右的数据延迟。产品经理说我这个需求很急,30分......