今天学习和总结

news/2024/10/1 3:30:59

学习了简单的算法知识排序中的快速排序,利用分治的思想来实现快速排序,对于前后大小有问题的进行swap的交换位置,这是基本的模版

和源码

include

using namespace std;

define N 1000100

int A[N];
void quick_sort(int a,int b){
if(a>=b)return ;
int i=a-1,j=b+1,x=A[a+b>>1];
while(i<j){
do i++;while(A[i]<x);
do j--;while(A[j]>x);
if(i<j) swap(A[i],A[j]);

}
quick_sort(a,j);
quick_sort(j+1,b);

}

int main(){
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&A[i]);
}
quick_sort(0,n-1);
for(int i=0;i<n;i++)printf("%d ",A[i]);
return 0;
}
可以在N*log N,的复杂度实现排序,非常的快

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/58908.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

代码整洁之道--读书笔记(7)

代码整洁之道简介: 本书是编程大师“Bob 大叔”40余年编程生涯的心得体会的总结,讲解要成为真正专业的程序员需要具备什么样的态度,需要遵循什么样的原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来者引路,助其职业生涯迈上更…

痞子衡嵌入式:在MDK开发环境下自定义安装与切换不同编译器版本的方法

大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是在MDK开发环境下自定义安装与切换不同编译器版本的方法。Keil MDK 想必是嵌入式开发者最熟悉的工具之一了,自 2005 年 Arm 公司收购 Keil 公司之后,MDK 就走上了发展快车道,从 v2.50a 一路狂奔到现在最新的…

Docker基本命令

目录docker基本命令查看docker环境信息镜像Image查看镜像删除镜像装载镜像打包镜像为tar包inspect观察镜像容器LXC(linux container)创建容器查看容器执行特定命令重启容器停止容器退出容器删除容器导出容器文件为tar包inspect观察容器 docker基本命令 docker对象包括镜像和容器…

基于Axis 1.4的Web Service入门

最近有个客户使用的是Axis 1.4创建的Web Service,很久没用了,所以整理下这块的知识。 基于JDK 1.8和Eclipse Mars开发一个简单的Hello world Web Service public interface HelloService {String hello(String name);} public class HelloServiceImpl implements HelloServic…

第四周作业

1、安装burp并实现抓取HTTP站点的数据包(HTTPS站点暂时不要求) 下方练习已完成 2、练习Tomcat PUT方法任意写文件漏洞(CVE-2017-12615),提供蚁剑连接成功截图 # 搜索镜像 docker search cve-2017-12615 # 拉取镜像 docker pull cved/cve-2017-12615 # 查看该镜像的详细信息…

MIT6.824 课程-Raft

Fault Tolerance - Raft 容错模式 我们已经学习了以下几种容错模式(fault-tolerance pattern):计算冗余:MapReduce,但是所有计算由单点 Master 进行调度。 数据冗余:GFS,也是依赖单点 Master 来对多个副本进行选主。 服务冗余:VMware-FT 依赖单个 TestAndSet 操作可以看…

9/10论文学习笔记

1.CPLEX是什么? 2.an apparent-tardiness-cost-with-setup (ATCS)是什么? a basic simulated annealing (SA)基本模拟退火算法 the threshold-accepting (TA) method 阈值接收算法