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

ima*_*ine -1 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;
       }
    }}
Run Code Online (Sandbox Code Playgroud)

her*_*tao 16

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

要获得a的最后一个值vector,您只需调用即可std::vector::back().

当然,你必须vector通过检查确保在此之前不是空的std::vector::empty.

if (!v.empty() && v.back()==y)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)