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

P1177 【模板】快速排序

时间:2023-02-14 15:44:26浏览次数:36  
标签:int mid msort P1177 排序 模板

P1177 【模板】快速排序

快速排序模板

 1 #include <iostream>
 2 #include<cstring>
 3 using namespace std;
 4 int a[100010],n;
 5 int t[100010];
 6 void msort(int l,int r) {
 7     if(l>=r) return;//序列中只有一个数,一定有序
 8     int mid=(l+r)/2;//让序列分成两部分
 9     msort(l,mid);//让左边有序
10     msort(mid+1,r); //让右边有序
11     //归并:让左右合起来
12     int i=l,j=mid+1,p=l;
13     while(i<=mid&&j<=r) {
14         if(a[i]<=a[j]) {
15             t[p]=a[i];
16             p++;
17             i++;
18         } else {
19             t[p]=a[j];
20             p++;
21             j++;
22         }
23     }
24     while(i<=mid) { //假设左边序列有剩余的数
25         t[p]=a[i];
26         p++;
27         i++;
28     }
29     while(j<=r) { //假设右边序列有剩余的数
30         t[p]=a[j];
31         p++;
32         j++;
33     }
34     for(int i=l;i<=r;i++) a[i]=t[i];
35     return ;
36 }
37 
38 int main() {
39     cin>>n;
40     for(int i=1; i<=n; i++) cin>>a[i];
41     msort(1,n);
42     for(int i=1; i<=n; i++) cout<<a[i]<<' ';
43     return 0;
44 }

 

标签:int,mid,msort,P1177,排序,模板
From: https://www.cnblogs.com/mantou20210331/p/17119809.html

相关文章

  • react-native模板
    expo升级SDK38后,原本创建项目时可选的导航模板变成了由typescript写的模板,于是自己还是js写一个,以下是效果地址​​https://github.com/tangmusenLiu/react-native-templat......
  • golang 排序
    排序都使用数组进行元素的保存1.冒泡排序。冒泡排序,从左到右,把后一个元素与前一个元素做比较,小的往前移位。1)一共会经过arr.length-1次的轮数比较,每一轮会确定一个数的......
  • 回文树模板
    资料感谢:模板源于不知名ACM大神,如果有侵权,立即删除。我们定义s的一个子串t的“出 现值”为t在s中的出现次数乘以t的长度。请你求出s的所有回文子串中的最大出现值。 ......
  • J - 【黄色】这题真的是模板题 Gym - 102072J 【 SPFA 】
    J-【黄色】这题真的是模板题 Gym-102072J 在看完其他出题人出的毒瘤题之后,良心出题人终于看不下去了,决定出一道模板题来送给大家一个AC,那么,你们能不能接住这个......
  • 字典树模板
    字典树数组模拟版: #include<cstdio>#include<algorithm>#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;constintN=1000010;consti......
  • 7-10 公路村村通 (30 分)【最小生成树 模板】
    7-10 公路村村通 (30分)现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本。输入格式:输入数据......
  • 从 s 点到 t 点的最短路(简单模板)(迪杰斯特拉)
    迪杰斯特拉简单版#include<bits/stdc++.h>usingnamespacestd;intm,n;constintinf=0x3f3f3f3f;intdis[1005];intgra[405][405];intvis[1005];voidd......
  • vue原理:diff、模板编译、渲染过程等
    一、虚拟DOM:因为DOM操作非常消耗性能,在操作DOM时,会出现DOM的回流(Reflow:元素大小或者位置发生改变)与重绘(元素样式的改变)使DOM重新渲染。现在的框架Vue和React很少直接操作......
  • TreeMap实现排序
    TreeMapTreeMap实现SortMap接口,能够把它保存的记录根据键排序,默认是按键值的升序排序,也可以指定排序的比较器。当用Iterator遍历TreeMap时,得到的记录是排过序的。TreeMap取......
  • TreeMap是按照key的字典顺序来排序
    一、TreeMapTreeMap默认排序规则:按照key的字典顺序来排序(升序)字典排序(lexicographicalorder)是一种对于随机变量形成序列的排序方法。即按照字母顺序,或者数字小大顺序,由小......