UVA 10474 - Where is the Marble?--vector

https://vjudge.net/problem/UVA-10474

https://blog.csdn.net/xiyaozhe/article/details/81081344

简单用法

sort(start,end) 默认是升序 

实现降序

#include <functional>

int a[10]={5,6,7,8,9,0,1,2,3,4};

vector <int> v(a, a+10);

sort(v.begin(), v.end(),less<int>());//升

sort(v.begin(), v.end(),greater<int>());//降

find(起点, 终点后一位, 要找的数) 

distance (地址, 地址) 是返回容器中两个地址之间的距离

vector基本操作

ve.push_back(a);  
作用是在数组后面增加一个元素。括号里填的是ve里装的东西
ve.clear();清空ve里的所有元素。
ve.empty();判断ve是否为空,如果是返回true,否则false
ve.size();返回ve的长度。注意这里返回的类型是unsigned int,如果ve是空的ve.size() - 1就会爆掉。
ve.pop_back() 删除数组里的最后一个元素。

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<math.h>
 4 #include<iostream>
 5 #include<stdlib.h>
 6 #include<algorithm>
 7 #include<queue>
 8 #include<vector>
 9 #define mem(a) memset(a,0,sizeof(a))
10 using namespace std;
11 const long long  N=1e9+5;
12 #define LL long long
13 
14 
15 int main()
16 {
17    int n,m,number,ca=0;
18    vector<int> ma;
19    while(cin>>n>>m&&n!=0&&m!=0)
20    {
21       for(int i=0;i<n;i++)
22       {
23           cin>>number;
24           ma.push_back(number);
25       }
26       sort(ma.begin(),ma.end());
27       cout<<"CASE# "<<++ca<<":"<<endl;
28       for(int i=0;i<m;i++)
29       {
30           cin>>number;
31           vector<int>::iterator it =find(ma.begin(),ma.end(),number);
32           if(it==ma.end())
33             cout << number << " not found"<<endl;
34           else
35             cout<<number<<" found at "<<distance(ma.begin(),it)+1<<endl;
36       }
37     ma.clear();
38    }
39     return 0;
40 }
View Code

猜你喜欢

转载自www.cnblogs.com/XXrll/p/10294592.html