数据结构实验之排序八:快速排序

2023-05-16

 

数据结构实验之排序八:快速排序

Time Limit: 1000 ms Memory Limit: 65536 KiB

Submit Statistic

Problem Description

给定N(N≤10^5)个整数,要求用快速排序对数据进行升序排列,注意不得使用STL。

 

Input

 连续输入多组数据,每组输入数据第一行给出正整数N(≤10^5),随后给出N个整数,数字间以空格分隔。

Output

 输出排序后的结果,数字间以一个空格间隔,行末不得有多余空格。

Sample Input

8
49 38 65 97 76 13 27 49

Sample Output

13 27 38 49 49 65 76 97

Hint

 

Source


#include <stdio.h>
void pai(int a[] , int l , int r)
{
    int i = l , j = r , key = a[l];
    if (l > r)
    {
        return ;
    }
    while(i < j)
    {
        while(i < j && a[j] >= key)
        {
            j--;
        }
        a[i] = a[j];
        while(i < j &&a[i] <= key)
        {
            i++;
        }
        a[j] = a[i];
    }
    a[i] = key;
    pai(a , i + 1 , r);
    pai (a , l ,i - 1);
}
int main ()
{
    int n , i ;
    int a[100001];
    while(~scanf("%d" , &n))
    {
        for (i = 0 ; i < n ; i++)
        {
          scanf("%d" , &a[i]);
        }
        pai(a , 0 , n - 1);
        for (i = 0 ; i < n ;i++)
        {
            printf("%d%c" , a[i] , i==n - 1?'\n':' ');
        }

    }
    return 0;
}  

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据结构实验之排序八:快速排序 的相关文章

  • docker命令大全以及常用写法举例

    内容来自公众号赫连小伍 xff0c 转载请注明出处 login xff1a 登录到远程仓库search xff1a 从远程仓库搜索镜像push xff1a 把本地镜像推送到远程仓库pull xff1a 从远程仓库拉取或更新镜像images
  • 虚拟机安装UOS系统--(仅命令行版)图文详解

    UOS 由深度操作系统deepin为基础 xff0c 经过定制而来的产品 考虑到后者是基于 Linux 的国产操作系统的一员 xff0c UOS 应该拥有相同的定位 UOS 拥有 家庭版 专业版 服务器版 三个分支 xff0c 个人版不再更
  • 表达式语法分析——递归子程序法

    表达式语法分析 递归子程序法 写在前面 xff1a 切记不要删除代码部分对于函数的声明 xff0c 以免造成error xff01 xff01 xff01 通过函数的声明避免函数定义的先后顺序 递归子程序法是一种确定的自顶向下语法分析方法
  • 小C语言--词法分析程序

    小C语言 词法分析程序 Problem Description 小C语言文法 1 lt 程序 gt lt main关键字 gt lt 声明序列 gt lt 语句序列 gt 2 lt 声明序列 gt lt 声明序列 gt lt 声明语句 gt
  • 合并石子问题

    我们常见的石子合并问题一般就三种 第一种 n堆石子 xff0c 每次合并的花费为两堆石子数目之和 xff0c 求怎样合并可以使得合并为一整堆石子的总花费最少 实际上这就是HUfffman编码的变形 xff0c 运用贪心策略 xff0c 每次
  • Xpath的语法

    Xpath 是一门从html中提取数据的语言 xff1a Xpath的语法 xff1a 1 39 39 是选择节点 xff08 标签 xff09 xff1a 39 html head meta 39 表示的是能够选中html 下的head下
  • Day-1(爬虫的基础,环境配置)

    这是我做的第一个带有前端的爬虫项目 xff0c 自己的构想是 爬虫使用scrapy框架 xff0c 前端使用django框架 xff0c 开发工具使用pycharm xff0c 开发环境使用python3 7 xff0c 主要任务 xff1
  • Day-2实现django框架的前端界面

    我们昨天已经将本次项目的基础环境搭建完成 xff0c 今天我们需要将我们的django框架的前端界面部分完成 任务 xff1a 书城的界面 一 创建django项目 首先在cmd格式下输入 django admin startproject
  • django2.2/mysql ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3

    django2 2 mysql ImproperlyConfigured mysqlclient 1 3 13 or newer is required you have 0 9 3 这个是我昨天的在做项目的时候 xff0c 遇见的一个问题
  • Day-3页面分析(Xpath)

    一 爬取分析 爬虫是非常考验随机性的 xff0c 运气性 xff0c 以及思维跳跃的 在此次项目中 xff0c 首先我们找到京东图书的页面 xff0c 进入到里边 京东所有图书的API接口是 xff1a http book jd com b
  • Centos7 环境配置安装boost库与mpich库

    Centos7 环境配置 一 安装mpich3 2 参考博客 xff1a https blog csdn net zhaohaibo article details 87197138 安装依赖 yum install y make gcc
  • Clion安装以及配置本地C++环境

    一 下载Clion 去JB公司官网下载CLion https www jetbrains com clion download section 61 windows 然后就是等 xff0c 一直等 xff0c 不要运行 xff0c 等到mi
  • 7-2国王游戏

    题目 xff1a 恰逢 H 国国庆 xff0c 国王邀请 n 位大臣来玩一个有奖游戏 首先 xff0c 他让每个大臣在左 右手上面分别写下一个整数 xff0c 国王自己也在左 右手上各写一个整数 然后 xff0c 让这 n 位大臣排成一排
  • 编码

    编码 Time Limit 1000MS Memory Limit 65536KB Problem Description 给你一个由大写字母组成的组成的字符串 xff0c 你可以用如下规则对其进行编码 xff1a 1 包含K个相同字母的连
  • C语言实验——字符编码

    C语言实验 字符编码 Time Limit 1000MS Memory Limit 65536KB Problem Description 请将一串长度为5的纯字母文本译成一个密码 xff0c 密码规律如下 xff1a 用原来的字母后面的第
  • C语言实验——求一个3*3矩阵对角线元素之和

    C语言实验 求一个3 3矩阵对角线元素之和 Time Limit 1000MS Memory Limit 65536KB Problem Description 给定一个3 3的矩阵 xff0c 请你求出对角线元素之和 Input 按照行优
  • 爬山

    爬山 Time Limit 1000MS Memory Limit 65536KB Problem Description LeiQ最近参加了一个登山俱乐部 xff0c 部长给他了一个n m地图 地图上的每一个格子的值表示一个山的海拔高度
  • 鞍点计算

    鞍点计算 Time Limit 1000MS Memory Limit 65536KB Problem Description 找出具有m行n列二维数组Array的 鞍点 xff0c 即该位置上的元素在该行上最大 xff0c 在该列上最小
  • 回文串判定

    回文串判定 Time Limit 1000MS Memory Limit 65536KB Problem Description 输入一串字符 xff08 长度小于100 xff09 xff0c 判断该串字符是否是回文串 xff08 正序读
  • C语言合法标识符

    C语言合法标识符 Time Limit 1000MS Memory Limit 65536KB Problem Description 输入一个字符串 xff0c 判断其是否是C的合法标识符 Input 输入数据包含多个测试实例 xff0c

随机推荐

  • 简单字符串排序

    简单字符串排序 Time Limit 5000MS Memory Limit 100000KB Problem Description 从键盘输入10个学生的姓名和成绩 xff0c 请按字典序排列学生的姓名并输出 xff08 姓名和成绩对应
  • 小鑫の日常系列故事(二)——石头剪子布

    小鑫 日常系列故事 xff08 二 xff09 石头剪子布 Time Limit 1000MS Memory Limit 65536KB 小鑫在上幼儿园的时候 xff0c 喜欢跟小伙伴健健玩石头剪子布的游戏 xff0c 你能帮他们判断谁胜谁
  • 中位数

    中位数 Problem Description 中位数是指在一组数据中 xff0c 按数值大小排序后处于中间位置的数 例如 xff1a 1 5 3 排序后为 1 3 5 xff0c 则其中位数为 3 特别地 xff0c 当数的个数 N 为偶
  • 分享下我 Github 被封的经历

    最近好像又有人 Github 被封 xff0c 每隔一段时间就有 分享下我自己的经历吧 xff0c 好几年以前了 xff0c 也许还是有点参考价值 账号被封 xff0c 查找原因 那是 2017 年 12 月 xff0c 有天早上起来突然发
  • 幸运数字

    幸运数字 Time Limit 1000MS Memory Limit 65536KB Problem Description 我们定义幸运数字为只含有且必须同时含有 4 和 7 的数 例如 xff1a 47 747 是幸运数字 xff0c
  • A-B Problem

    A B Problem Time Limit 1000MS Memory Limit 65536KB Problem Description 这次当然不是简单的 a b 呐 xff5e 有一个神奇的变换规则是这样的 xff1a 给定两个数
  • C语言实验——一元二次方程Ⅰ

    C语言实验 一元二次方程 Time Limit 1000MS Memory Limit 65536KB Problem Description 解一元二次方程ax 2 43 bx 43 c 61 0的解 保证有解 Input a b c的值
  • C/C++经典程序训练2---斐波那契数列

    C C 43 43 经典程序训练2 斐波那契数列 Time Limit 1000MS Memory Limit 65536KB Problem Description 编写计算斐波那契 xff08 Fibonacci xff09 数列的第n
  • C/C++程序训练6---歌德巴赫猜想的证明

    C C 43 43 程序训练6 歌德巴赫猜想的证明 Time Limit 1000MS Memory Limit 65536KB Problem Description 验证 每个不小于6的偶数都是两个素数之和 xff0c 输入一个不小于6
  • C语言实验——整数位

    C语言实验 整数位 Time Limit 1000MS Memory Limit 65536KB Problem Description 输入一个不多于5位的正整数 xff0c 要求 xff1a xff08 1 xff09 求出它是几位数
  • C语言实验——各位数字之和排序

    C语言实验 各位数字之和排序 Time Limit 1000MS Memory Limit 65536KB Problem Description 给定n个正整数 xff0c 根据各位数字之和从小到大进行排序 Input 输入数据有多组 x
  • yxc 的日常

    yxc 的日常 Time Limit 1000MS Memory Limit 65536KB Problem Description yxc 特别喜欢睡觉 xff0c 但是由于上课和训练 xff0c 他睡觉的时间并不是连续的 xff0c 他
  • 奇偶性

    奇偶性 Time Limit 1000MS Memory Limit 32768KB Problem Description 判断输入的数据的奇偶性 Input 输入数据第一行是一个正整数N 接下来N行 xff0c 每行一个正整数 Outp
  • 念数字

    山东理工大学第一届团体程序设计天梯赛各班内组队选拔测试赛 3 290 分 编程题共 15 小题 xff0c 共计 290 分 剩余时间 30 03 10 剩余时间 30 03 10 编程题 7 9 念数字 xff08 15 分 xff09
  • Linux环境Ubuntu版本安装CMake V3.23.1记录

    以下采用源码方式安装 xff0c 先确认Ubuntu能够正常访问网络 以下bash终端命令皆是在root权限下 xff0c 否则在命令前加sudo 官方网址 xff1a 跳转连接 在命令终端切换root权限后 xff0c 安装以下内容 ni
  • 数据结构实验之链表二:逆序建立链表

    Problem Description 输入整数个数N xff0c 再输入N个整数 xff0c 按照这些整数输入的相反顺序建立单链表 xff0c 并依次遍历输出单链表的数据 Input 第一行输入整数N xff1b 第二行依次输入N个整数
  • 数据结构实验之链表一:顺序建立链表

    Problem Description 输入N个整数 xff0c 按照输入的顺序建立单链表存储 xff0c 并遍历所建立的单链表 xff0c 输出这些数据 Input 第一行输入整数的个数N xff1b 第二行依次输入每个整数 Output
  • 数据结构实验之链表七:单链表中重复元素的删除

    书上的例题 Problem Description 按照数据输入的相反顺序 xff08 逆位序 xff09 建立一个单链表 xff0c 并将单链表中重复的元素删除 xff08 值相同的元素只保留最后输入的一个 xff09 Input 第一行
  • 数据结构实验之链表九:双向链表

    数据结构实验之链表九 xff1a 双向链表 Time Limit 1000 ms Memory Limit 65536 KiB Problem Description 学会了单向链表 xff0c 我们又多了一种解决问题的能力 xff0c 单
  • 数据结构实验之排序八:快速排序

    数据结构实验之排序八 xff1a 快速排序 Time Limit 1000 ms Memory Limit 65536 KiB Submit Statistic Problem Description 给定N N 10 5 个整数 xff0