作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我开始学习 C++ 和 STL。 我有一个问题:
写一个函数模板palindrome,接受一个 vector 参数并返回true或false来检查 vector 是否是回文(12321是回文,1234不是回文)
这是我的代码:
template<class T>
bool palindrome(vector<T> & v)
{
int i,j;
for( i=0,j=v.size();i<v.size()/2;i++,j--)
{
if(v[i]!=v[j])
return false;
}
return true;
}
void main()
{
int ar[]={1,2,3,2,1};
vector<int> v(ar,ar+5);
cout<<palindrome(v);
}
代码无效。我知道它有一些错误,但我不知道如何修复它们。请帮我!非常感谢!
最佳答案
您的索引不正确。在你的循环 j=v.size()
中,然后你访问 v[j]
。但最后一个元素位于索引 v.size() - 1。您的程序行为将是未定义的。
更改为 j=v.size() -1
关于c++ - 采用 vector 参数的函数模板回文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20264713/
我想开发一个 Skype 机器人,它将用户名作为输入,并根据用户输入以相反的字符大小写表示hello username。简而言之,如果用户输入他的名字 james,我的机器人会回复他为 Hello J
我是一名优秀的程序员,十分优秀!