【发布时间】:2014-11-19 22:23:20
【问题描述】:
我想写一个布尔函数来查看向量中的元素是否按升序排列。 到目前为止我的代码:
bool if_sorted(vector<int>& v) {
int i;
for (; i < v.size(); i++) {
if(v[i] < v[i + 1]){
break;
} else {
return false;
}
if(v[i] == v.size())
return true;
}
在 main() 函数中,我只是用 if_sorted() 函数输入向量 an 的元素,我想查看这些值是否按升序排序。
如何在没有 is_sorted 之类的函数的情况下编写这个布尔函数,或者修改我现有的代码?
【问题讨论】:
-
1.你忘了说一个问题。 2.你忘了初始化
i。 -
我不想使用 is_sorted 或其他函数。仅来自
iostream库。i在 for 循环中被初始化。 -
@user3653164 除了 iostream 什么都不使用?因为作业?就个人而言,如果您只是阅读它,请仅存储最后一个值并检查
(prev<curval)。存储向量是浪费内存和时间。 -
您可以通过多种方式编写代码。如果你想让它工作,你可以先仔细查看
if (v[i] < v[i+1]),想一想,然后意识到为什么你的代码不能工作。
标签: c++ function sorting vector boolean