如何获取向量的最后一个值

时间:2014-02-27 11:16:17

标签: c++ vector

我想说如果vector = 4 cout<<"Yes"中的最后一个元素的值我怎么能写代码写if(v.size()==y),其中y是一个数字但它不起作用我最近开始编写代码

#include <iostream>
#include <vector>
#include <stdio.h>
using namespace std;
int main()
{
   int n,x,y;
   cin >> n >> x >> y;
   vector<int> v(n);
   for(int i = 0; i < n; i++)
   {
       cin >> v[i];
   }
   for(int i = 0; i < n; i++)
   {
       if(v[0] == x)
       {cout<<"EASY";
           return 0;
       }
       if(v[0] == x && v.back() == y)
       {
           cout << "BOTH";
           return 0;
       }
       if(v.back()==y)
       {
           cout << "HARD";
           return 0;
       }
       if(v[0] != x && v.back() != y)
       {
           cout << "OKAY";
           return 0;
       }
    }}

1 个答案:

答案 0 :(得分:15)

v.size()将返回v中元素的数量,而不是向量中的最后一个元素。

要获取vector的最后一个值,您只需拨打std::vector::back()

当然,您必须先检查std::vector::empty,确保vector在此之前不为空。

if (!v.empty() && v.back()==y)
{
    ...
}