在C ++中从向量获取子向量
这是一个C ++程序,用于从C ++中的向量获取子向量
算法
BeginDeclare s as vector s(vector const &v, int m, int n) to
initialize start and end position of vector to constructor.
auto first = v.begin() + m.
auto last = v.begin() + n + 1.
Declare a variable vector of vector type.
Pass the value of first and last position of vector.
Return vector.
Declare a template T.
Declare a function show().
Pass constructor of vector v as parameter.
for (auto i: v)
print the value of variable i.
Declare a vector v.
Initiation values in v vector.
Initialize two variables a = 3, b = 6.
Print “子向量是:” .
Declare another vector sub_vector.
vector sub_vector = s(v, a, b) to initialize values to the
sub vector by mentioning the start and end position of
vector v.
call show() function to display the values of sub_vector.
End.
范例程式码
#include <iostream>#include <vector>
using namespace std;
template<typename T>
vector<T> s(vector<T> const &v, int m, int n) {
auto first = v.begin() + m;
auto last = v.begin() + n + 1;
vector<T> vector(first, last);
return vector;
}
template<typename T>
void show(vector<T> const &v) {
for (auto i: v) {
cout << i << ' ';
}
cout << '\n';
}
int main() {
vector<int> v = {7,6,2,4,1 ,9,10,15,17};
int a = 3, b = 6;
cout<<"子向量是:"<<endl;
vector<int> sub_vector = s(v, a, b);
show(sub_vector);
return 0;
}
输出结果
子向量是:4 1 9 10
以上是 在C ++中从向量获取子向量 的全部内容, 来源链接: utcz.com/z/321650.html