c++ - 如果 index == 0,为什么 v [index] < v [index - 1] 返回 true?

标签 c++ arrays vector

Link to the function image编写了一个函数来查找中枢元素(起始/最低)的索引 排序和旋转数组。我解决了这个问题并正在检查

边缘情况,它甚至适用于索引为零的情况。任何人都可以

解释为什么/如何 v [index] < v [index - 1] 在 index 处返回 true

这是函数的进展:

[1 2 3 4 5 6 7 8 9 ]
检查:5,这是低 & 高:0、8
检查:2,这是低和高:0、3
检查:1,这是低和高:0、0
枢轴索引:0

[7 8 9 1 2 3 4 5 6]

... 枢轴索引:3

最佳答案

如果索引为 0 并且您尝试获取值,如果索引为 -1,则意味着您正在尝试访问不属于您的数组/vector 的内存。这是未定义的行为。不要那样做

关于c++ - 如果 index == 0,为什么 v [index] < v [index - 1] 返回 true?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57023181/

相关文章:

c++ - 指针包装器以便我可以重载运算符?

c - int* ptr 和 int(* arr)[3] =&a 之间的区别

arrays - 没有 '.Count'属性的对象-使用@()(数组子表达式运算符)与[Array]类型转换

c++ - 将 vector 映射到特定范围

c++ - 通过惰性求值使 Meyers 的 Singleton 线程安全快速

c++ - 从字符串中提取单词 - 棘手的问题

c++ - Excel国际日期格式

javascript - 将两个 forEach 转换成 map

c++ - 无法删除和删除 vector 上的对象指针

c++ - 如何修改/更新由 const 引用传递的对象的内部状态