数据结构实验之排序一:一趟快排

题目描述

给定N个长整型范围内的整数,要求输出以给定数据中第一个数为枢轴进行一趟快速排序之后的结果。

 

输入

连续输入多组数据,每组输入数据第一行给出正整数N(N < = 10^5),随后给出N个长整型范围内的整数,数字间以空格分隔。

输出

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

示例输入

8
49 38 65 97 76 13 27 49

示例输出

27 38 13 49 76 97 65 49

提示






#include <iostream>
#include<cstring>
#include<cstdio>
#include<cstdlib>
using namespace std;
int a[10001];
void q(int a[],int l,int r)
{
    int k=a[l],i=l,j=r;
    if(r<=l) return;//注意等号的取舍;
    while(i<j)
    {
        while(i<j&&a[j]>=k) j--;
        a[i]=a[j];
        while(i<j&&a[i]<=k) i++;
        a[j]=a[i];
    }
    a[i]=k;
}
int main()
{
    int n;
    while(~scanf("%d",&n))
    {
        for(int i=0;i<n;i++)
            scanf("%d",&a[i]);
        q(a,0,n-1);
        for(int i=0;i<=n-2;i++)
            printf("%d ",a[i]);
        printf("%d\n",a[n-1]);
    }
    return 0;
}



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/509412.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

你所不知道的C和C++运行库

转自&#xff1a;http://blog.csdn.net/ithzhang/article/details/20160009 你所不知道的C和C运行库    周五晚&#xff0c;小雨&#xff0c;少见的未加班。无聊&#xff0c;遂准备写一篇博客&#xff0c;介绍一下C和C运行库&#xff0c;只因发现工作几年的人对此一知半解的…

使用注解配置spring如@Compnent、@Service、@Consroller、@scope和@value的使用

步骤 1.导包42spring-aop如图&#xff1a;为学习到该阶段需要用到的包(里面的aoptest是spring和junit整合测试的时候用到的)2.为主配置文件引入新的命名空间(约束)3.开启使用注解代理配置文件<?xml version"1.0" encoding"UTF-8"?> <beans xmln…

关于面向对象的理解

转自&#xff1a;http://blog.csdn.net/ithzhang/article/details/52983530 上次插件进程化分享时&#xff0c;感觉大家对面向对象思想的理解还停留在很基础的层次。面向对象思想确实很难理解&#xff0c;因此学习面向对象思想并非一日之功。我看过很多面向对象的书&#xff0c…

spring与junit整合测试

1.导包42aoptest 这里不愿意截图了&#xff0c;上面讲注解配置时候有截图2.配置注解 //帮我们创建容器 RunWith(SpringJUnit4ClassRunner.class) //指定创建容器时使用哪个配置文件 ContextConfiguration("classpath:applicationContext.xml") public class Demo {//…

linux后台开发具备能力集锦

Linux后台开发应该具备技能 一、linux和os: 1、命令&#xff1a;netstat tcpdump ipcs ipcrm 这四个命令的熟练掌握程度基本上能体现实际开发和调试程序的经验 2、cpu 内存 硬盘 等等与系统性能调试相关的命令必须熟练掌握&#xff0c;设置修改权限 tcp网络状态查看 各进程状态…

java实现深度优先搜索 (DFS) 算法

度优先搜索&#xff08;Depth First Search&#xff0c;DFS&#xff09;算法是一种用于遍历或搜索图或树的算法。这种算法从一个节点开始&#xff0c;沿着一条路径尽可能深地搜索&#xff0c;直到遇到不能继续前进的节点时返回上一个节点&#xff0c;然后继续搜索其他路径。具体…

数据结构实验之排序四:寻找大富翁

题目描述 2015胡润全球财富榜调查显示&#xff0c;个人资产在1000万以上的高净值人群达到200万人&#xff0c;假设给出N个人的个人资产值&#xff0c;请你快速找出排前M位的大富翁。 输入 首先输入两个正整数N( N ≤ 10^6)和M(M ≤ 10)&#xff0c;其中N为总人数&#xff0c;M为…

系统调用和库函数的区别

首先&#xff0c;要说一下两者的概念&#xff1a;系统调用 &#xff1a;是操作系统为用户态运行的进程和硬件设备(如CPU、磁盘、打印机等)进行交互提供的一组接口&#xff0c;即就是设置在应用程序和硬件设备之间的一个接口层。可以说是操作系统留给用户程序的一个接口。再来说…

数据结构实验之排序五:归并求逆序数

题目描述 对于数列a1,a2,a3…中的任意两个数ai,aj (i < j)&#xff0c;如果ai > aj,那么我们就说这两个数构成了一个逆序对&#xff1b;在一个数列中逆序对的总数称之为逆序数&#xff0c;如数列 1 6 3 7 2 4 9中&#xff0c;(6,4)是一个逆序对&#xff0c;同样还有(3,2)…

gSoap客户端调用WebService完成后注意内存释放顺序

gSoap客户端调用WebService完成后注意内存释放顺序 [cpp] view plaincopy //Soap资源清理 soap_destroy(soap_sp.get()); //清理反序列化的类实例 soap_end(soap_sp.get()); //清理反序列化的数据 &#xff08;除类实例&#xff09; 和临时数据清理…

spring面向AOP之动态代理

动态代理中有两个重要的接口&#xff0c;一个是InvocationHandle&#xff0c;另一个是Proxy。 分别来说明这两个接口的作用吧&#xff01; InvocationHandle接口‘ java.lang.reflect.InvocationHandler InvocationHandler 是代理实例的调用处理程序 实现的接口。每个代理实…

数据结构实验之排序六:希尔排序

题目描述 我们已经学习了各种排序方法&#xff0c;知道在不同的情况下要选择不同的排序算法&#xff0c;以期达到最好的排序效率&#xff1b;对于待排序数据来说&#xff0c;若数据基本有序且记录较少时&#xff0c; 直接插入排序的效率是非常好的&#xff0c;希尔排序就是针对…

spring整合JDBC

文章目录spring提供了很多模板整合Dao技术spring中提供了一个可以操作数据库的对象.对象封装了jdbc技术.如何用Spring中的jdbc模板对数据库操作&#xff1a;spring配置进阶内容JDBCDaoSupport的使用spring提供了很多模板整合Dao技术 因为在jdbc、Hibernate、Mybatis中都有对数据…

稳定排序和不稳定排序

http://blog.csdn.net/rebirth_love/article/details/52354338 这几天笔试了好几次了&#xff0c;连续碰到一个关于常见排序算法稳定性判别的问题&#xff0c;往往还是多选&#xff0c;对于我以及和我一样拿不准的同学可不是一个能轻易下结论的题目&#xff0c;当然如果你笔试之…

spring中aop事务

文章目录事务为什要用到Spring中AOP事务事物的特性 ACID事务并发问题事务的隔离级别spring事务管理事务操作事务操作对象spring管理事务的属性介绍spring管理事务方式编码式xml配置(aop)注解配置Transactional注解在方法上添加Transactional注解在类上添加实际案例xml配置注入a…

Mybatis介绍、jdbc操作数据库原始写法以及Mybatis架构

文章目录Mybatis介绍jdbc操作数据库原生写法使用jdbc编程问题总结Mybatis架构Mybatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code&#xff0c;并且改名为MyBatis 。2013年11月迁移到Github。 MyBatis是一个…

数据结构上机测试2-1:单链表操作A

题目描述 输入n个整数&#xff0c;先按照数据输入的顺序建立一个带头结点的单链表&#xff0c;再输入一个数据m,将单链表中的值为m的结点全部删除。分别输出建立的初始单链表和完成删除后的单链表。输入 第一行输入数据个数n&#xff1b;第二行依次输入n个整数&#xff1b;第三…

数据结构上机测试2-2:单链表操作B

题目描述 按照数据输入的相反顺序&#xff08;逆位序&#xff09;建立一个单链表&#xff0c;并将单链表中重复的元素删除&#xff08;值相同的元素只保留最后输入的一个&#xff09;。输入 第一行输入元素个数n&#xff1b;第二行输入n个整数。输出 第一行输出初始链表元素个数…

利用Mybatis写第一个数据库操作的程序

文章目录mybatis下载业务需求环境搭建加入配置文件创建pojosql映射文件加载映射文件实现根据id查询用户测试程序&#xff1a;效果mybatis下载 mybaits的代码由github.com管理 下载地址&#xff1a;https://github.com/mybatis/mybatis-3/releases 下载的mybatis文件如下&#…