快速排序和归并排序 简单模板 C++

news/2024/5/17 18:52:13 标签: 归并排序, 快速排序, C++

记录一下,简单快捷的写法,下次忘了又回来看看。

1.快速排序

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

const int N = 5010;
int a[N];
void quickSort(int l,int r)
{
	if(l>=r)
		return ;
	int t=a[l+r>>1];
	int i=l-1,j=r+1;
	while(i<j)
	{
		while(a[++i]<t);
		while(a[--j]>t);
		if(i<j)
			swap(a[i],a[j]);
	}
	quickSort(l,j);
	quickSort(j+1,r);
}

int main() {
	
	int n;
	cin>>n;
	
	for(int i=0;i<n;i++)
		cin>>a[i];
		
	quickSort(0,n-1);
		
	for(int i=0;i<n;i++)
		cout<<a[i]<<" ";
	
}

2.归并排序

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

const int N = 5010;
int a[N],t[N];
void mergeSort(int l,int r)
{
	if(l>=r)
		return ;
	int m=l+r>>1;
	mergeSort(l,m);
	mergeSort(m+1,r);
	
	int i=l,j=m+1,k=0;
	while(i<=m&&j<=r)
	{
		if(a[i]<a[j]) t[k++]=a[i++];  //升序排序 
		else t[k++]=a[j++];
	}
	
	while(i<=m) t[k++]=a[i++];
	while(j<=r) t[k++]=a[j++];
	
	for(int i=l,j=0;i<=r;i++)
		a[i]=t[j++];
}

int main() {
	
	int n;
	cin>>n;
	
	for(int i=0;i<n;i++)
		cin>>a[i];
		
	mergeSort(0,n-1);
		
	for(int i=0;i<n;i++)
		cout<<a[i]<<" ";
	
}


http://www.niftyadmin.cn/n/1396138.html

相关文章

sql server 2005 T-SQL @@OPTIONS (Transact-SQL)

返回对本地服务器上执行的当前存储过程的嵌套级别&#xff08;初始值为 0&#xff09;。有关嵌套级别的信息&#xff0c;请参阅嵌套存储过程。 Transact-SQL 语法约定 语法 NESTLEVEL 返回类型 int 备注 每次一个存储过程通过引用公共语言运行时 (CLR) 例程、类型或聚合来调用…

谈谈NLP中 大语言模型LLM的 思维链 Chain-of-Thought(CoT)

Chain-of-Thought(CoT) 1.介绍 在过去几年的探索中&#xff0c;业界发现了一个现象&#xff0c;在增大模型参数量和训练数据的同时&#xff0c;在多数任务上&#xff0c;模型的表现会越来越好。因而&#xff0c;现有的大模型LLM&#xff0c;最大参数量已经超过了千亿。 然而…

博客园___黑客帝国背景样式

黑客帝国背景样式 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Document</title><style> #matrixBG{position: fixed; top:0;left: 0;z-index: -1; opacity:0.8; }</style> <…

RFID 负载调制和反向散射调制

我用我质朴的语言概述一下我的理解&#xff0c;射频识别系统中&#xff0c;阅读器和标签之间的通信通过电磁波来实现。按照通信距离&#xff0c;可以划分为近场和远场&#xff1b;按照频率又分&#xff1a;低频、高频、超高频……。相应的&#xff0c;阅读器和电子标签之间的数…

详解Gem5模拟器的4种CPU模型

背景知识 一、处理器的流水线 流水线技术(pipeline)是一种将每条指令分解为多步&#xff0c;并让各步操作重叠&#xff0c;从而实现几条指令并行处理的技术。程序中的指令仍是一条条顺序执行&#xff0c;但可以预先取若干条指令&#xff0c;并在当前指令尚未执行完时&#xff…

黑客帝国背景样式

黑客帝国背景样式 CSS代码: //背景CSS样式#matrixBG{position: fixed; top:0; left: 0; z-index: -1; opacity:0.8;} 博客侧边栏公告 //黑客帝国背景HTML<div id"page_end_html"> <div><canvas id"matrixBG" ></canvas></div&g…

C# 操作Excel2003

前言 公司最近有操作excel的需求:店名上传上来的excel都没有地址这一栏,但是有对应的编号,由于有上百个excel文件各个分店要是手工填写的话基本不可能,所以有劳我想办法了:)我倒是知道能操作,但是没有具体实践过.以下是摸索的点滴: 开发环境 window XP,Microsoft Visual…

Gem5模拟器 for Ubuntu20.04

一、安装Ubuntu 参考教程&#xff1a;史上最全最新Ubuntu20.04安装教程&#xff08;图文&#xff09; - 知乎 (zhihu.com) 1. 查看Ubuntu版本号命令&#xff1a; lsb_release -a 显示如下&#xff1a; Distributor ID: Ubuntu //类别是ubuntu Description: Ubuntu …