1. //参考书是刘汝佳的那本算法书P108
  2. //sort的用法也就是本来是从小到大排序,如果想要从大到小,中间写一个比较函数就可以了;
  3. //以下两个检索的东西
  4. //lower_bound找到一个值的最小插入位置 int tmp1=lower_bound(a,a+n,x)-a;
  5. //upper_bound找到一个值的最大插入位置int tmp2=upper_bound(a,a+n,x)-a;
  6. 下面是自己出的一道水题
  7. 新学期刚开始,班上来了一个转专业的学生,现在要给这个学生安排位置。请你写个程序帮助老师安排合适的位置给新同学。
  8. Input
  9. 数据有多组,每组数据有多行,第一行是一个整数N(N<100),代表班机上有N个人,第二行有N个整数,代表每位同学的身高,第三行是一个整数X,代表新同学的身高。
  10. Output
  11. 对于每组数据都应该输出一行,包含三个数据,即该新同学最少能插入那个位置,最多能插入那个位置,并输出原来该位置上的同学身高
  12. #include<stdio.h>
  13. #include<algorithm>
  14. using namespace std;
  15. const int maxn =10000;
  16. int main()
  17. {
  18. int n,i;
  19. int a[maxn],x;
  20. while(~scanf("%d",&n))
  21. {
  22. for(i=0;i<n;i++)
  23. scanf("%d",&a[i]);
  24. sort(a,a+n);
  25. scanf("%d",&x);
  26. int tmp1=lower_bound(a,a+n,x)-a; ////按从小到大,7最少能插入数组point的哪个位置
  27. int tmp2=upper_bound(a,a+n,x)-a; //按从小到大,7最多能插入数组point的哪个位置
  28. printf("%d %d %d\n",tmp1+1,x,a[tmp1]);
  29. printf("%d %d %d\n",tmp2+1,x,a[tmp2]);
  30. }
  31. return 0;
  32. }

STL排序和检索的更多相关文章

  1. 详细解说 STL 排序(Sort)

    0 前言: STL,为什么你必须掌握 对于程序员来说,数据结构是必修的一门课.从查找到排序,从链表到二叉树,几乎所有的算法和原理都需要理解,理解不了也要死记硬背下来.幸运的是这些理论都已经比较成熟,算 ...

  2. 转:详细解说 STL 排序(Sort)

    详细解说 STL 排序(Sort) 详细解说 STL 排序(Sort) 作者Winter 详细解说 STL 排序(Sort) 0 前言: STL,为什么你必须掌握 1 STL提供的Sort 算法 1. ...

  3. 详细解说 STL 排序(Sort)(转)

    作者Winter 详细解说 STL 排序(Sort) 0 前言: STL,为什么你必须掌握 1 STL提供的Sort 算法 1.1 所有sort算法介绍 1.2 sort 中的比较函数 1.3 sor ...

  4. STL之 sort排序与检索(2019.1.18)

    1.作用对象:数组  a[n] 头文件:#include<algorithm> 内容:sort(a,a+n) 功能:进行升序排序 内容:lower_bound(a,a+n,x) 功能:找到 ...

  5. 【OI】C++STL初步 排序与检索

    从紫皮书过来的,但是书中内容讲的比较简洁,做一点补充笔记. 一.排序(sort函数) 头文件:<algorithm> 语法:sort(start,end,cmp); start,end必须 ...

  6. C#中DataTable排序、检索、合并等操作实例

    转载引用至:http://www.jb51.net/article/49222.htm     一.排序1.获取DataTable的默认视图2.对视图设置排序表达式3.用排序后的视图导出的新DataT ...

  7. DataTable数据进行排序、检索、合并、分页、统计

    在做程序时经常遇到要将反复对数据进行筛选.求和.排序.分页等的情况.每次的数据操作都要去访问数据库很明显是不合理的!当然需要实时数据的情况除外,不做讨论哈.今天无意间在网上看到了这篇文章,挺实用的,拿 ...

  8. STL 排序(转载)

    这篇文章关于STL中的排序写的虽不深入,但是还是挺好的. 1.sort sort有两种形式,第一种形式有两个迭代器参数,构成一个前开后闭的区间,按照元素的 less 关系排序:第二种形式多加一个指定排 ...

  9. HDU-1263(STL+排序)

    水果 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

随机推荐

  1. iPhone 适配之路

    (1)1x时代 2007年,初代iPhone公布,屏幕的宽高是320*480像素.这个分辨率一直到iPhone3GS也保持不变. 那时编写iOS的App应用程序.仅仅支持绝对定位. 比方一个butto ...

  2. binary-tree-preorder-traversal——前序遍历

    Given a binary tree, return the preorder traversal of its nodes' values. For example:Given binary tr ...

  3. RPM安装mysql5.6

    原文 http://blog.csdn.net/liumm0000/article/details/18841197 a. 检查MySQL及相关RPM包,是否安装,如果有安装,则移除(rpm –e 名 ...

  4. Python——list切片

    前文简单介绍了Python中的list和它常用的一些函数,知道list是一个有序的数据集合,那么我们如何获取list中的元素呢? Index: 与C语言中数组一样,list可以通过每个元素的index ...

  5. 聊聊高并发(三十二)实现一个基于链表的无锁Set集合

    Set表示一种没有反复元素的集合类,在JDK里面有HashSet的实现,底层是基于HashMap来实现的.这里实现一个简化版本号的Set,有下面约束: 1. 基于链表实现.链表节点依照对象的hashC ...

  6. 修复Xcode升级错误 — PCH File Error

    http://www.rockia.net/2013/03/fix-xcode-update-pch-file-error Error:PCH File Built From A Different ...

  7. hadoop reduce 阶段遍历 Iterable 的 2 个“坑”

    01 package com.test; 02   03 import java.util.ArrayList; 04 import java.util.Iterator; 05 import jav ...

  8. Web 监听器

    什么事web 监听器? Servlet规范中定义的一种特殊类 用于监听ServletContext.HttpSession和ServletRequest等象的创建与销毁的事件 用监听域对象的属性发生修 ...

  9. 获取Android设备无线和以太网MAC地址

    package com.raycloud.wolf.blogformac; import android.net.wifi.WifiManager; import android.support.v7 ...

  10. CH 5102 Mobile Service(线性DP)

    CH 5102 Mobile Service \(solution:\) 这道题很容易想到DP,因为题目里已经说了要按顺序完成这些请求.所以我们可以线性DP,但是这一题的状态不是很好设,因为数据范围有 ...