Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

รับเวกเตอร์ย่อยจากเวกเตอร์ใน C++


นี่คือโปรแกรม C++ สำหรับรับเวกเตอร์ย่อยจากเวกเตอร์ใน C++

อัลกอริทึม

Begin
  Declare 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 “Sub vector is:” .
      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<<"Sub vector is:"<<endl;
   vector<int> sub_vector = s(v, a, b);
   show(sub_vector);
   return 0;
}

ผลลัพธ์

Sub vector is:
4 1 9 10