1003.快速排序

时限:1000ms 内存限制:10000K  总时限:3000ms

描述

给定一个数列,用快速排序算法把它排成升序。

输入

第一行是一个整数n(n不大于10000),表示要排序的数的个数;下面一行是用空格隔开的n个整数。

输出

输出排序后的数列,每个数字占一行。

输入样例

5
3 2 1 4 5

输出样例

1
2
3
4
5

#include<iostream>
using namespace std;
int a[10005],n;
void sort(int left,int right){int temp = a[left];if(right > left){int i = left,j = right ;while(i < j){while(i < j&&a[j] >= temp){//右边找第一个比它小的 j -- ;}a[i] = a[j];while(i < j&&a[i] <= temp){//左边找第一个比它小的i ++ ;}a[j] = a[i];}a[i] = temp;sort(left,i-1);sort(i+1,right);}
}
int main(){int i;
//  freopen("input.txt","r",stdin);cin>>n;for(i = 0; i < n;i++){cin>>a[i];}sort(0,n-1);for(i = 0;i < n;i++){cout<<a[i]<<endl;}return 0;
}

NOJ 1003.快速排序相关推荐

  1. c语言noj除法,快速排序~C语言~NOJ1064

    比赛描述 给定输入排序元素数目n和相应的n个元素,写出程序,利用内排序算法中快速排序算法进行排序,并输出排序最后结果的相应序列. 输入 共两行,第一行给出排序元素数目n,第二行给出n个元素,1≤n≤1 ...

  2. 快速排序amp;amp;选择排序amp;amp;冒泡排序

    先说选择排序与冒泡排序.这两个排序算法效率差不多,只不过选择排序算法是每一趟选出最大或者最小的数依次放在最前面,而冒泡排序一般情况则是每一趟置换出最大数依次到最末尾位置. 快速排序,顾名思义是最常用. ...

  3. noj大作业c语言扫雷,noj大作业概要.doc

    noj大作业概要 作业名称:算法演示程序学 院:航海学院班 级:学 号:2013300951姓 名:苏和团队组成: 西北工业大学 2015年11月11日 1.问题与背景(描述程序所要解决的问题或应用背 ...

  4. Golang TDD实践报告:快速排序Quick Sort

    Golang TDD实践报告:快速排序Quick Sort [阅读时间:约5分钟] 0.项目需求 1.编写符合项目输入输出的一个测试 2.尝试运行测试 3.先使用最少的代码来让失败的测试先跑起来 4. ...

  5. 算法图解/二分查找/简单查找/选择排序/递归算法/快速排序算法/

    大 O 表示法 大 O 表示法在讨论运行时间时,log 指的都是 log2 大 O 表示法指出了算法有多快,让你能够比较操作数,它指出了算法运行时间的增速,而并非以秒为单位的速度. 大 O 表示法指出 ...

  6. BZOJ 1003[ZJOI2006]物流运输(SPFA+DP)

    Problem 1003. -- [ZJOI2006]物流运输 1003: [ZJOI2006]物流运输 Time Limit: 10 Sec  Memory Limit: 162 MB Submit ...

  7. 数据结构学习(十三)、快速排序

    基本思想:通过一趟排序将待排记录分割成独立两个部分,其中一部分记录的关键字均比另一部分记录的关键字小, 则可分别对这两部分继续进行排序,重复操作以上操作,已达到整个序列有序的目的 void Quick ...

  8. 快速排序(快排)--->注释超详细

    基本思想:         1.先选取一个基准值(一般选取数组第一个元素).         2.以第一步选取的基准值为标准,然后从最后一个数值开始一步步向前走将数字与基准值进行比较,如果该值大于基准 ...

  9. 快速排序的两种实现方法(c语言版本)

    经过调研发现,对任意无序整数数组,快速排序有两种实现方法,这里简单阐述下思路: 思路一:随意选择一个基准元,一般选择数组的起始元或末尾元,Weiss这本书上特意搞了个算法来选择基准元,--,总之就是基 ...

最新文章

  1. 根据ip获取用户地址-百度
  2. click和blur 冲突???
  3. CentOS7路由、端口和服务排障常用命令
  4. TM4C123G开发板学习记录(八)存储和安全管理(上)
  5. 数据库面试 - 如何设计才可以让系统从未分库分表动态切换到分库分表上?
  6. OpenAI高调站队Pytorch,怎样学Pyorch?
  7. python冒泡排序时间复杂度_Python算法中的时间复杂度问题
  8. 创建服务器及请求响应等简单的node.js例子
  9. 5.6 除法器的实现
  10. java学习之道 --- 如何学习java?
  11. 用java代码怎样做pos结算_Java Tile.Pos方法代码示例
  12. 戴尔Latitude5285笔记本触摸板失灵的原因
  13. java格式化mac地址,java格式化mac地址(加分隔符,去分隔符)
  14. 易语言大漠圆形椭圆形渐开线结合鼠标特征码刷怪
  15. 深度学习基础知识每日更 upupup
  16. 国内股票KDJ指标计算,Python实现KDJ指标计算,Talib实现KDJ指标计算
  17. ensp启动设备蓝屏_戴尔笔记本蓝屏原因 戴尔笔记本蓝屏解决方法【详解】
  18. 中国天气网api(json格式)
  19. [笔记分享] [SCons] SCons工具之Manipulation
  20. 在以太坊上如何实现联盟链

热门文章

  1. PeakDo无线投屏器体验:零延迟无线投屏,这才是真正的黑科技!
  2. 【数据挖掘】数据挖掘工程师是做什么的?
  3. 安迪·沃霍尔作品全球首次NFT拍卖以280万美元价格成交
  4. 计算机博士英语缩写,学士、硕士、博士学位英文缩写.pdf
  5. (十二)docker --privileged
  6. (附源码)python方块新闻 毕业设计 091600
  7. 网络营销策略的前瞻性和大局观念
  8. 【大学生课程】《Python数据分析》课程大作业要求
  9. 为什么Chrome比其他浏览器快?
  10. SpringMVC 教程 - Handler Method