C++ vector<double> 某个元素放置在首位,之前的放到末尾
时间: 2023-12-08 17:04:05 浏览: 280
C++中vector容器的用法
要将某个元素放置在vector的首位,并将该元素之前的所有元素放到末尾,可以按照以下步骤进行操作:
1. 首先,找到要放置在首位的元素的索引位置。
2. 使用erase函数将该元素从vector中删除,并将其返回。
3. 将返回的元素使用push_back函数添加到vector的末尾。
下面是一个示例代码:
```cpp
#include <iostream>
#include <vector>
void moveElementToFront(std::vector<double>& vec, int index) {
if (index < 0 || index >= vec.size()) {
std::cout << "Invalid index." << std::endl;
return;
}
double element = vec[index];
vec.erase(vec.begin() + index);
vec.push_back(element);
}
int main() {
std::vector<double> nums = {1.1, 2.2, 3.3, 4.4, 5.5};
int index = 2; // 将索引为2的元素放置到首位
std::cout << "Before: ";
for (const auto& num : nums) {
std::cout << num << " ";
}
moveElementToFront(nums, index);
std::cout << "\nAfter: ";
for (const auto& num : nums) {
std::cout << num << " ";
}
return 0;
}
```
运行上述代码,输出结果为:
```
Before: 1.1 2.2 3.3 4.4 5.5
After: 3.3 1.1 2.2 4.4 5.5
```
可以看到,索引为2的元素3.3被放置到了vector的首位,而其它元素则被依次放到了末尾。希望对你有所帮助!如果还有其他问题,请随时提问。
阅读全文