当前位置: 首页 > 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;
}
http://www.dtcms.com/a/25197.html

相关文章:

  • 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的结合
  • VirtualBox 中使用 桥接网卡 并设置 MAC 地址
  • 关于C#的一些基础知识点汇总
  • Redis 全方位解析:从入门到实战
  • sourcetree gitee 详细使用
  • vue3 配置@根路径
  • 软件工程之软件需求SWE.1
  • 工业制造能耗管理新突破,漫途MTIC-ECM平台助力企业绿色转型!
  • leaflet前端初始化项目
  • 机器学习 - 线性模型
  • Linux 内存管理与文件页缓冲区