快排代码

摘要:
1#包括<iostream>2#包括<算法>3使用namespacestd;45classSolution{6public:7voidquick_sort(vector<int>&arr,intl,intr)8{9if(l>r)return;1011inti=l,j=r+1;1213while(i!=j)14
快排代码第1张快排代码第2张
 1 #include <iostream>
 2 #include <algorithm>
 3 using namespace std;
 4 
 5 class Solution{
 6 public:
 7     void quick_sort(vector<int>& arr, int l, int r)
 8     {
 9         if(l>r) return;
10 
11         int i=l, j=r+1;
12 
13         while(i!=j)
14         {
15             while(arr[++i]<arr[l] && i<r);
16             while(arr[--j]>arr[l] && j>l);
17             if(i >= j) break;
18             swap(arr[i], arr[j]);
19         }
20         swap(arr[l],arr[j]);
21 
22         quick_sort(arr, l, j-1);
23         quick_sort(arr, j+1, r);
24     }
25 
26     void print_vector(vector<int>& arr)
27     {
28         for(auto i:arr) cout << i <<" ";
29         cout << endl;
30     }
31 };
32 
33 int main()
34 {
35     Solution sol;
36 
37     vector<int> arr = {3,2,4,1,5,6,7,0,9,8};
38 
39     sol.quick_sort(arr, 0, arr.size()-1);
40     sol.print_vector(arr);
41 
42     return 0;
43 }
View Code

免责声明:文章转载自《快排代码》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Python3 中 configparser 使用注意事项JAVA中IP和整数相互转化下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【mongoDB中级篇②】索引与expain

索引的操作 数据库百分之八十的工作基本上都是查询,而索引能帮我们更快的查询到想要的数据.但是其降低了数据的写入速度,所以要权衡常用的查询字段,不必在太多字段上建立索引. 在mongoDB中默认是用btree来组织索引文件,并且可以按字段升序/降序来创建,便于排序. 数据准备 for (var i = 1; i <100000; i++) { db...

前端实现list排序

需求 针对list中某个字段,实现list的升序和降序 效果图 代码 我是用在angular1.X中项目的,根据list中的sort字段进行排序。 # sort.html <style> .list-sort .upper-sort { 0; height: 0; margin-bottom: 10px; border-to...

采用layui框架实现表格的简单制作

 最近想把项目用layui来做,研究了下并记录下来,数据源这个案例放到了new1.json文件中,使用layui框架返回的数据必须按照他们的格式,否则会报请求数据错误。 先上一张展示图: 效果还是很好看的,看下如何实现的吧 1、首先做个准备资源 这里主要下载layui文件,因为需要用到其中的layui.css与layui.js这两个文件。 <lin...

SpringDataJPA对数据库的操作的几种方式

1:SpringDataJPA是JPA规范的再次封装抽象,底层还是使用了Hibernate的JPA技术实现,是属于Spring的生成体系中的一部分 2:SpringData的结构(七个接口) 操作数据库的方式一:继承JpaRepository口后操作数据库   1:在Repository层新建一个基础接口   1 @NoRepositoryBean /...

c++优先队列(priority_queue)用法详解

介绍:   普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。 在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。优先队列具有最高级先出 (first in, largest out)的行为特征。 首先要包含头文件#include<queue>, 他和queue不同的就在于我们可以自定义其中数据的优...

sort命令实践

1.用man sort 查看sort的帮助文档 2.sort常用选项有哪些,都有什么功能?提交相关使用的截图 常用选项及相关功能(参考https://www.runoob.com/linux/linux-comm-sort.html) -b:忽略每行前面开始出的空格字符。 -c:检查文件是否已经按照顺序排序。 -d:排序时,处理英文字母、数字及空格字符外...