首页 > 其他分享 >快排模版

快排模版

时间:2023-11-21 15:48:40浏览次数:23  
标签:bas int 模版 random 快排 100000

我打算复习下快排模版,结果怎么写都写不对,贼离谱,后来发现是自己犯了一个很弱智的错误,想取bas作为随机下边然后把a[bas]作为基准,但问题在于,我把c数组赋值给a数组这步省略成了把基准赋值给a[bas]了。。这固然是节约空间的好思路,但问题在于我此前错把一个可能被修改的量当成常量来用了,结果a[bas]被偷偷中途修改了我却还当成他是原来的那个数,就离谱,下次一定要常量化,所有常量都要写死成const,这有助于排错..
不然就会犯我这个弱智错误...

Code

#include <iostream>
#include <cstdlib>
using namespace std;
int a[100000+5],b[100000+5],c[100000+5],d[100000+5],n;
int random(int l,int r){return rand()%(r-l+1)+l;}
void quicksort(int l,int r)
{
	if(l>=r)return;
	int bas=a[random(l,r)],bp=0,cp=0,dp=0;
	for(int i=l;i<=r;i++)
	{
		if(a[i]==bas)cp++;
		else if(a[i]<bas)b[bp++]=a[i];
		else d[dp++]=a[i];
	}
	for(int i=0;i<bp;i++)a[l+i]=b[i];
	for(int i=0;i<cp;i++)a[l+bp+i]=bas;
	for(int i=0;i<dp;i++)a[l+bp+cp+i]=d[i];
	quicksort(l,l+bp-1);
	quicksort(l+bp+cp,r);
}
signed main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);cout.tie(0);
	srand(time(NULL));
	cin>>n;
	for(int i=1;i<=n;i++)cin>>a[i];
	quicksort(1,n);
	for(int i=1;i<=n;i++)cout<<a[i]<<' ';
	return 0;
}

标签:bas,int,模版,random,快排,100000
From: https://www.cnblogs.com/gongkai/p/17846686.html

相关文章

  • 【golang】【注释模版】
    @目录写在前面注释要求package结构体方法代码逻辑注释参考资料基础/标准库/第三方库golang导航编程规范算法|面试项目写在前面相关博文个人博客首页免责声明:仅供学习交流使用!开源框架可能存在的风险和相关后果将完全由用户自行承担,本人不承担任何法律责任。注释要求统......
  • 快速排序与归并排序模版
    快速排序voidquick_sort(intq[],intl,intr){if(l>=r)return;inti=l-1,j=r+1,x=q[l+(r-l>>1)];while(i<j){doi++;while(q[i]<x);doj--;while(q[j]>x);if(i&l......
  • 高精度模版
    高精度加法vector<int>add(vector<int>&A,vector<int>&B){//654321654321vector<int>C;inttemp=0;for(inti=0;i<A.size()||i<B.size();++i){if(i<A.size())temp+=A[i];......
  • Dynamic CRM 组织服务对Word模版生成PDF文件
    目的:解决用户手动下载word模版再上传问题解决方案:组织服务直接对指定的word模版文件生成PDF文件流1.word模版必须上传到系统文档模版后:设置->模版->文档模版 2.组织调用“ExportpdfDocument”,返回PDF文件字节信息。另外实体信息需要把“注释”勾选上,否则执行代码会报错,如下:......
  • 08.模版技术
    简介Web程序里,访问一个地址通常会返回一个包含各类信息的HTML页面。其中包含变量和运算逻辑的HTML或其他格式的文本叫做模板,执行这些变量替换和逻辑计算工作的过程被称为渲染。Flask模板渲染是通过Jinja2引擎来完成的。默认情况下,Flask会从模块同级的 templates 目录......
  • 抖音私信群发工具cookie,批量导入UID安全码,易语言谷歌模版开源
    用精易浏览器的谷歌模版开发的工具,最主要的是可以多账号登录抖音号,而且可以导入COOKIE,也能提取cookie,就实现了一种多账号私信的效果,可以搭配代理IP效果的,这个我没加入,我就分享下源码,开源就行了,软件基础都设计好了,可以实现的功能就是可以多账号登录【cookie写入本地txt分割】然后导......
  • C#使用NPOI 读取并修改 Excel 模版(移动行,增加行)
    准备一下:templatePath为模版路径,初始化workbookvarworkbook=newXSSFWorkbook(File.OpenRead(templatePath));varsheet=workbook.GetSheetAt(0); //1、指定行、列单元格赋值sheet.GetRow(1).GetCell(2).SetCellValue(companyInfo?.FFullName); //2、模......
  • Python多线程爬取数据代码模版
    由于对爬虫Ip信息的理解可能存在偏差,我将假设你想要爬取的网站支持Python多线程运行数据。以下是一个简单的Haskell爬虫程序,用于爬取Python多线程跑数据的内容:importNetwork.HTTPimportNetwork.URIimportData.ListimportData.MaybeimportControl.Monad--爬虫爬虫Ip信息......
  • 快排优化
    实验一:快速排序算法及其优化编程实现快速排序//编程实现的快排voidqSort(intn[],intl,intr){if(l>=r){return;}inti,j;i=l-1;j=r+1;intx=n[(i+j)/2];while(i<j){doi++;while(n[i]<x);do......
  • 模版的导入
    使用方式:将页面的某一个局部当成模块的形式,哪个地方需要就可以直接导入使用即可导入方式如下:首先写好要导入的HTML页面 之后在需要导入处书写代码:{%include'被导入的页面.html'%} ......