Vector Trong C++ - Thomliny_tran
Có thể bạn quan tâm
Vector làm việc giống như một “mảng động”.
Một vài ví dụ:
Ví dụ 1: Ví dụ này chủ yếu để làm quen sử dụng các hàm chứ không có đề bài cụ thể.
#include <iostream> #include <vector> using namespace std; vector <int> v; //Khai báo vector vector <int>::iterator it; //Khai báo iterator vector <int>::reverse_iterator rit; //Khai báo iterator ngược int i; main() { for (i=1;i<=5;i++) v.push_back(i); // v={1,2,3,4,5} cout << v.front() << endl; // In ra 1 cout << v.back() << endl; // In ra 5 cout << v.size() << endl; // In ra 5 v.push_back(9); // v={1,2,3,4,5,9} cout << v.size() << endl; // In ra 6 v.clear(); // v={} cout << v.empty() << endl; // In ra 1 (vector rỗng) for (i=1;i<=5;i++) v.push_back(i); // v={1,2,3,4,5} v.pop_back(); // v={1,2,3,4} cout << v.size() << endl; // In ra 4 v.erase(v.begin()+1); // Xóa ptử thứ 1 v={1,3,4} v.erase(v.begin(),v.begin()+2); // v={4} v.insert(v.begin(),100); // v={100,4} v.insert(v.end(),5); // v={100,4,5} /*Duyệt theo chỉ số phần tử*/ for (i=0;i<v.size();i++) cout << v[i] << " "; // 100 4 5 cout << endl; /*Chú ý: Không nên viết for (i=0;i<=v.size()-1;i++) ... Vì nếu vector v rỗng thì sẽ dẫn đến sai khi duyệt !!! */ /*Duyệt theo iterator*/ for (it=v.begin();it!=v.end();it++) cout << *it << " " ; //In ra giá trị ma iterator đang trỏ tới "100 4 5" cout << endl; /*Duyệt iterator ngược*/ for (rit=v.rbegin();rit!=v.rend();rit++) cout << *rit << " "; // 5 4 100 cout << endl; system("pause"); }Ví dụ 2: Cho đồ thị vô hướng G có n đỉnh (các đỉnh đánh số từ 1 đến n) và m cạnh và không có khuyên (đường đi từ 1 đỉnh tới chính đỉnh đó).Cài đặt đồ thị bằng danh sách kề và in ra các cạnh kề đối với mỗi cạnh của đồ thị. Dữ liệu vào:
- Dòng đầu chứa n và m cách nhau bởi dấu cách
- M dòng sau, mỗi dòng chứa u và v cho biết có đường đi từ u tới Không có cặp đỉnh u,v nào chỉ cùng 1 đường đi.
Dữ liệu ra:
- M dòng: Dòng thứ i chứa các đỉnh kề cạnh i theo thứ tự tăng dần và cách nhau bởi dấu cách.
Giới hạn: 1 <= n,m <= 10000 Ví dụ:
| INPUT | OUTPUT |
| 6 7 | 2 3 5 6 |
| 1 2 | 1 3 6 |
| 1 3 | 1 2 5 |
| 1 5 | |
| 2 3 | 1 3 |
| 2 6 | 1 2 |
| 3 5 | |
| 6 1 |
Chương trình mẫu:
#include <iostream> #include <vector> using namespace std; vector < vector <int> > a (10001); //Khai báo vector 2 chiều với 10001 vector 1 chiều rỗng int m,n,i,j,u,v; main() { /*Input data*/ cin >> n >> m; for (i=1;i<=m;i++) { cin >> u >> v; a[u].push_back(v); a[v].push_back(u); } /*Sort cạnh kề*/ for (i=1;i<=m;i++) sort(a[i].begin(),a[i].end()); /*Print Result*/ for (i=1;i<=m;i++) { for (j=0;j<a[i].size();j++) cout << a[i][j] << " "; cout << endl; } system("pause"); }Từ khóa » Khai Báo Vector 2 Chiều C++
-
Vector Trong C++
-
Cách Nhập/xuất Vector 2 Chiều Bằng Cơ Chế .at() - Dạy Nhau Học
-
Cách Sử Dụng Vector 2 Chiều??? - Cộng đồng C Việt
-
Cách Nhập/xuất Vector 2 Chiều Bằng Cơ Chế .at()
-
Khởi Tạo Một Std :: Vector Hai Chiều? - HelpEx
-
Cơ Bản Về Lớp Vector | How Kteam
-
Lập Trình C++ - Tạo Mảng 2 Chiều Trong Vector - Daotaobanhang
-
Tổng Hợp Vector Trong C++ - TopDev
-
[PDF] BÀI 9 VECTOR, STRUCT
-
Sử Dụng Vector Trong Lập Trình C++ - Giải Bài Toán Lập Trình Muôn Thủa
-
[Lập Trình C++ Cơ Bản] Bài 7 (Phần 2): Mảng Hai Chiều Trong ... - Viblo
-
Lập Trình C++ - Tạo Mảng 2 Chiều Trong Vector - YouTube
-
Sử Dụng Thư Viện Vector, Stack, Queue Trong C/C++