6-1 简单快速排序

分数 10

全屏浏览题目

切换布局

作者 唐艳琴

单位 中国人民解放军陆军工程大学

本题要求实现一个函数,可快速查找给定x(保证是整个数据中其值存在,如果x有多个,查找第一个x)在整个数据中的排名(数据从大到小排列)情况,函数返回其排名(最大值为第1名,相同值的依次向后排名,即排名没有并列)。

函数接口定义:


int sort(int a[],int n,int x);

其中 a 和 x 都是用户传入的参数。 n 为元素个数, x 为等查数据。函数须返回 x 的排名。

裁判测试程序样例:


在这里给出函数被调用进行测试的例子。例如: #include <stdio.h> #define N 1000 int sort(int a[],int n,int x); int main() { int i,n,x,pos,a[N]; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&a[i]); scanf("%d",&x); pos=sort(a,n,x); printf("%d pos: %d",x,pos); return 0; } /* 请在这里填写答案 */

输入样例:

10
12 83 83 45 64 32 123 83 79 96
83

输出样例:

83 pos: 3

表示第1个83排名第2

代码长度限制

16 KB

时间限制

5 ms

内存限制

1 MB

#include<iostream>
#include<algorithm>
using namespace std;
int Position(int a[], int low, int high)
{int i = low, j = high, pivot = a[low];while (i < j){while (i<j && a[j]>pivot){j--;}if (i < j){swap(a[i++], a[j]);}while (i<j && a[i]<pivot){i++;}if (i < j){swap(a[i], a[j--]);}}return i;
}
void QuickSort(int a[], int low, int high)
{if (low < high){int mid = Position(a, low, high);QuickSort(a, low, mid - 1);QuickSort(a, mid + 1, high);}
}
int main()
{int n;cin >> n;int a[100] = { 0 };for (int i = 0; i < n; i++){cin >> a[i];}QuickSort(a, 0, n - 1);int x;cin >> x; int count = 1;for (int i = n - 1; i > 0; i--){if (a[i] == x){break;}count++;}cout << x << " pos: " << count << endl;
}

6-1 简单快速排序分数 10作者 唐艳琴单位 中国人民解放军陆军工程大学本题要求实现一个函数,可快速查找给定x(保证是整个数据中其值存在,如果x有多个,查找第一个x)在整个数据中的排名(数据相关推荐

  1. 7-1 h0168. 田忌赛马分数 10作者 黄正鹏单位 贵州工程应用技术学院田忌与齐王赛马,双方各有n匹马参赛,每场比赛赌注为200两黄金,现已知齐王与田忌的每匹马的速度,并且齐王肯定是按马

    7-1 h0168. 田忌赛马 分数 10 全屏浏览题目 切换布局 作者 黄正鹏 单位 贵州工程应用技术学院 田忌与齐王赛马,双方各有n匹马参赛,每场比赛赌注为200两黄金,现已知齐王与田忌的每匹马的 ...

  2. PTA 6-6 分数 分数 10 作者 翁恺 单位 浙江大学

    题目: 裁判测试程序样例: #include <iostream> using namespace std;/* 请在这里填写答案 */int main(void) {Fraction f ...

  3. 7-2 高精度求累加和 分数 25作者 胡伟平单位 广西科技大学

    使用求和公式求1到N的累加和大家都会,但是如果把N值变大呢,比如100位的整数,那该怎么求? 输入格式: 输入在一行中给出1个位数不超过100位的整数N. 输出格式: 对每一组输入,在一行中输出1+2 ...

  4. 11-散列1 电话聊天狂人分数 25作者 DS课程组单位 浙江大学

    给定大量手机用户通话记录,找出其中通话次数最多的聊天狂人. 输入格式: 输入首先给出正整数N(≤105),为通话记录条数.随后N行,每行给出一条通话记录.简单起见,这里只列出拨出方和接收方的11位数字 ...

  5. 7-1 最大公约数和最小公倍数分数 15作者 张彤彧单位 浙江大学

    本题要求两个给定正整数的最大公约数和最小公倍数. 输入格式: 输入在一行中给出两个正整数M和N(≤1000). 输出格式: 在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔. 输入 ...

  6. 为什么说 Java 中只有值传递?

    对于初学者来说,要想把这个问题回答正确,是比较难的.在第二天整理答案的时候,我发现我竟然无法通过简单的语言把这个事情描述的很容易理解,遗憾的是,我也没有在网上找到哪篇文章可以把这个事情讲解的通俗易懂. ...

  7. 为什么说Java中只有值传递(另一种角度)

    转载自 为什么说Java中只有值传递 对于初学者来说,要想把这个问题回答正确,是比较难的.在第二天整理答案的时候,我发现我竟然无法通过简单的语言把这个事情描述的很容易理解,遗憾的是,我也没有在网上找到 ...

  8. 为什么Java中只有值传递

    原文链接:https://www.cnblogs.com/wchxj/p/8729503.html 在开始深入讲解之前,有必要纠正一下大家以前的那些错误看法了.如果你有以下想法,那么你有必要好好阅读本 ...

  9. mysql中null值求和_sql求和涉及到null值

    SQL ISNULL().NVL().IFNULL() 和 COALESCE() 函数 请看下面的 "Products" 表: P_Id ProductName UnitPrice ...

最新文章

  1. RabbitMQ 可靠消息传输实战--云平台技术栈12
  2. 动态域名作为dga的做法
  3. 洛谷 P3805 manacher算法
  4. 具有Spring Boot和Java配置的Spring Batch教程
  5. 研究员详述巴基斯坦黑客如何攻击印度和阿富汗政府
  6. 绝对定向 c++_【007】Linux重定向、管道符及环境变量(看这一文就够了)
  7. Window10上使用Git与Github远程仓库互连
  8. Linux网络子系统中协议栈的入口处理
  9. 跟据URL来实现WebService
  10. useragent 全集 firefox插件 useragetn switch 使用
  11. Apache POI Word中复制表格
  12. 重复线性渐变repeating-linear-gradient
  13. 使用Crucible和FishEye链接svn库时遇到尝试添加或索引存储库时出现错误-版本中不存在的问题
  14. win7系统怎么用笔记本做wifi热点(转)
  15. iherb中文海淘攻略-- IHERB目前的优惠
  16. 二叉树交换左右子树的递归与非递归算法
  17. Airsim中运行OpenVINS和VINS_Fusion
  18. 【HTML】HTML5给网页音频带来的变化
  19. java入门~第十六天 对象数组以及集合和相关数据结构
  20. 怎么用Photoshop做出物体的投影效果出来

热门文章

  1. qt布局嵌套_Qt的5种常用布局搭建
  2. 服务器与普通电脑之间的区别是什么?
  3. 一键分析Android的BugReport
  4. android 日期格式 毫秒
  5. 冰河凭什么能够顺利拿下三个软考高级证书?有什么技巧(诀窍)吗?
  6. [usaco 2009 dec]游荡的奶牛
  7. 数字图像处理(DIP)实验4 目标颜色识别
  8. 福利贴:最全实时音视频开发要用到的开源工程汇总
  9. 深度学习——MSRA初始化
  10. Java经典300例-基础篇-001:Hello Kitty