``` Lati_grid= unique(Lati_grid,‘stable’);```请写出以上matlab代码的等效c++代码
时间: 2024-09-14 22:15:18 浏览: 48
该MATLAB代码 `unique(Lati_grid,'stable')` 的功能是找到数组 `Lati_grid` 中唯一的元素,并保持它们的原始顺序(即稳定性)。在C++中,可以使用STL中的 `std::set` 或者自定义算法来实现类似的功能。考虑到C++没有内置函数直接提供稳定的唯一值排序,你需要手动处理。这里是等效的C++代码:
```cpp
#include <iostream>
#include <unordered_set>
#include <vector>
std::vector<int> unique_stable(const std::vector<int>& Lati_grid) {
std::unordered_set<int> unique_set;
std::vector<int> unique_vector;
for (int value : Lati_grid) {
if (unique_set.find(value) == unique_set.end()) {
unique_set.insert(value);
unique_vector.push_back(value);
}
}
return unique_vector;
}
int main() {
// 示例用法
std::vector<int> lati_grid = {1, 2, 2, 3, 4, 4, 5};
std::vector<int> result = unique_stable(lati_grid);
for (int value : result) {
std::cout << value << " ";
}
// 结果会类似于:1 2 3 4 5
return 0;
}
```
阅读全文