C++排序,查找问题,急啊

来源:百度知道 编辑:UC知道 时间:2024/06/04 23:21:38
试选择排序算法并编写程序对给定的无序的记录集R[1…n]按关键字自小到大顺序排序并输出最前3个记录(小)和最后3个记录(大)的关键字值,并按照所给定的关键字值在已排序的有序集合中查找相同的纪录并输出其在已排序集合中的序号。
程序运行后,将按以下顺序接受从键盘输入的各项参数,例如:
10 第一个数表示无序集合中共有10个纪录
14 连续10个关键字值,都是整数(长整形)
254
87
4982
537
9
74
38
25
924
74 第12个数表示待查找的关键字值。
7 第13个数表示要求输出在已排序集合中的序号为7的关键字值。
(注:红色部分不出现在输入文件中)
你的程序以上述的输入参数运行后将得到以下的排序序列:(无需输出)
9,14,25,38,74,87,254,537,924,4982
并将要求在控制台上输出以下打印结果:
top 3: 提示输出最前面的3个记录值
9
14
25
last 3: 提示输出最后面的3个记录值
537
924
4982
index of 74:5 关键字值为74的记录在已排序集合中的序号为5
data of index 7:254 在已排序集合中的序号为7的关键字值为254

#include <vector>
#include <algorithm>
using namespace std;

vector<int> buf;
sort(buf.begin(), buf.end());
find(buf.begin(), buf.end(), 74);
cout <<buf[7];

试一下吧

二楼所说的就是传说中的STL?