Computer >> Máy Tính >  >> Lập trình >> C ++

Trình lặp hai chiều trong C ++

Ở đây chúng ta sẽ thấy khái niệm về trình vòng lặp hai chiều trong C ++.

  • Các trình vòng lặp hai chiều hỗ trợ tất cả các tính năng của trình vòng lặp chuyển tiếp, cũng như các toán tử giảm tiền tố và hậu tố.
  • Loại trình lặp này có thể truy cập các phần tử theo cả hai hướng, như về cuối và về đầu.
  • Trình lặp truy cập ngẫu nhiên cũng là một loại trình lặp hai chiều.
  • Trình vòng lặp hai chiều có các tính năng của trình vòng lặp chuyển tiếp, nhưng chỉ có sự khác biệt là trình vòng lặp này cũng có thể được giảm bớt.

Các trình vòng lặp hai chiều có một số thuộc tính. Chúng giống như bên dưới.

Thuộc tính Biểu thức
Trình lặp hai chiều là mặc định-cấu tạo, có thể sao chép-gán và cũng có thể hủy A p
A q (p)
q =p
Chúng ta có thể so sánh chúng bằng cách sử dụng toán tử bình đẳng và bất bình đẳng p ==q
p! =q
Cái này có thể được tham chiếu. Chúng ta có thể sử dụng toán tử tham chiếu (*) để nhận giá trị. * p
Trình lặp có thể thay đổi có thể được tham chiếu dưới dạng lvalue * p =t
Chúng ta có thể tăng hoặc giảm bằng cách sử dụng toán tử tăng (++) và toán tử giảm (-) p ++
q--

Mã mẫu

#include <iostream>
#include<iterator>
#include<vector>
using namespace std;
int main() {
   vector<int> vec{10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
   vector<int> ::iterator it;
   vector<int> :: reverse_iterator rev_it;
   for(it = vec.begin(); it != vec.end(); it++)
      cout<<*it<<" ";
      cout<< endl;
   for(rev_it = vec.rbegin(); rev_it!= vec.rend(); rev_it++)
      cout<<*rev_it<<" ";
}

Đầu ra

10 20 30 40 50 60 70 80 90 100
100 90 80 70 60 50 40 30 20 10