当前位置: 首页 > news >正文

【算法】快排

题目

快排

思路

如果输入为0或1直接返回;否则取一个基准值,可以取中间位置,如果输入是有序的可以避免时间过长,然后移动指针,先让i指针右移,如果小于基准值就继续右移,j指针左移同理。如果指针都停住,再看i<j,就交换。

代码

#include<iostream>
using namespace std;
void quick_sort(int q[], int l, int r)
{
	if (l >= r)
		return;
	int x = q[(l+r)/2], i = l - 1, j = r + 1;
	while (i < j)
	{
		do i++;while (q[i] < x);
		do j--;while (q[j] > x);
		if (i < j)
			swap(q[i], q[j]);
	}
	quick_sort(q, l, j);
	quick_sort(q, j + 1, r);
}
int main()
{
	int n;
	cin >> n;
	int q[n];
	for (int i = 0;i < n;i++)
	{
		cin>>q[i];
	}
	quick_sort(q, 0, n - 1);
	for (int i = 0;i < n;i++)
	{
		cout << q[i] << " ";
	}
	return 0;
}

相关文章:

  • Go 自动升级依赖版本
  • 网络安全“挂图作战“及其场景
  • Go入门之数组与切片
  • 【基础架构篇八】《DeepSeek异构计算:CPU/GPU/TPU协同加速方案》
  • 基于Spring Boot的社区居民健康管理平台的设计与实现
  • 【Vue3】Vue 3 中列表排序的优化技巧
  • Qt的QTabWidget样式设置
  • Python----数据结构(双向链表:节点,是否为空,长度,遍历,添加,删除,查找,循环链表)
  • 伯克利 CS61A 课堂笔记 10 —— Trees
  • 阿里云ACK+GitLab企业级部署实战教程
  • 数据库配置文件
  • 【Linux网络-网络基础】TCP/IP五层(或四层)模型+网络传输的基本流程
  • DeepSeek R1:中国AI黑马的崛起与挑战
  • 外包干了3天,技术退步太明显了。。。
  • sql not in 优化
  • 【WRF模拟】全过程总结:更换不同研究时段改动总结
  • 简单易懂的金融知识:如何解读股指期货?股指期货如何做?
  • C#知识大纲回顾
  • 国产银河麒麟v10操作系统 添加epel源
  • 力扣高频sql 50题(基础版) :NULL, 表连接,子查询,case when和avg的结合
  • 上海国际电影节推出三大官方推荐单元,精选十部优秀影片
  • 阿森纳被打得毫无脾气,回天无力的阿尔特塔只剩嘴硬
  • 巴基斯坦外交部:印度侵略行径侵犯巴主权
  • 住宿行业迎“最火五一”:数千家酒店连续3天满房,民宿预订量创历史新高
  • 上海飞银川客机触地复飞后备降西安,亲历者:不少乘客都吐了
  • 溢价率19.48%,民企番禺置业3.07亿元竞得广州番禺融媒体中心北侧地块