IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 785. 快速排序 -> 正文阅读

[数据结构与算法]785. 快速排序

给定你一个长度为 n 的整数数列。

请你使用快速排序对这个数列按照从小到大进行排序。

并将排好序的数列按顺序输出。

输入格式

  • 输入共两行,第一行包含整数 n。
  • 第二行包含 n 个整数(所有整数均在 1~109 范围内),表示整个数列。

输出格式

  • 输出共一行,包含 n 个整数,表示排好序的数列。

数据范围

1 ≤ n ≤ 100000

输入样例:

5
3 1 2 4 5

输出样例:

1 2 3 4 5

C模板

template

C++ 模板

#include<iostream>

using namespace std;

const int N = 100010;

int q[N];

void quick_sort(int q[], int l, int r) 
{
    //左边界与右边界相遇,则停止这个方法
    if(l >= r) return;

    //定义一个边界数,左边界,右边界
    //x定义为q[l]时,会超出时间限制
    int i = l - 1, j = r + 1, x = q[l + 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;
    //获取输入到数组中
    scanf("%d", &n);
    
    for(int i = 0; i < n; i++) scanf("%d", &q[i]);
    
    //快排函数
    quick_sort(q, 0, n - 1);
    
    //输出数据
    for(int i = 0; i < n; i++) printf("%d ", q[i]);
    
    return 0;
}

Java模板

template

Python模板

template

Go模板

template
  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-02-28 15:50:37  更:2022-02-28 15:53:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 16:28:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码