Lớp C++ chứa vectơ của chính nó
Bạn có phải là người mới bắt đầu hành trình C++ của mình và bạn thấy việc khởi tạo véc-tơ hơi khó khăn hay bạn đang tìm cách để thực hiện nó? . Show
Trong bài viết này, bạn sẽ biết cách khởi tạo vector trong C++, cách khởi tạo vector vector, nếu bạn cần khởi tạo vector trong C++, vector c++, c khởi tạo vector trong constructor, ví dụ vector c++, cách khởi tạo vector 2d trong . Ngồi lại và tận hưởng khoảng thời gian vui vẻ khi xem qua hướng dẫn. Làm thế nào để bạn khởi tạo một vector trong C++?Vectơ C++Nói chung trong khoa học máy tính và các lĩnh vực liên quan của nó, vectơ là các thùng chứa STL được sử dụng để lưu trữ dữ liệu động. Chúng được gọi là biểu diễn của mảng với đặc tính có thể tăng hoặc giảm kích thước tùy thuộc vào cách thêm hoặc xóa các phần tử. Các vectơ lưu trữ dữ liệu trên một thực thể trên một chỉ mục duy nhất đồng nghĩa với cách đối tác tĩnh của nó lưu trữ dữ liệu. Chèn và xóa xảy ra từ chỉ mục cuối cùng đến chỉ mục đầu tiên. Khi xóa, cần có thời gian không đổi nhưng việc chèn một phần tử sẽ mất thời gian khác biệt. Điều này là do một vectơ cần tự thay đổi kích thước sau khi một phần tử được thêm vào Cũng giống như cách các bộ chứa STL cung cấp các chức năng khác nhau, các vectơ cũng làm như vậy. Dưới đây là ba danh mục con của một phần chức năng.
Cách tạo một Vector trong C++Các vectơ trong C++ hoạt động bằng cách khai báo vectơ trong C++ sử dụng chúng. Thông thường, cú pháp về cách tạo một vectơ mới trong c ++ trông như thế này vectorMột sự cố đơn giản
Ví dụ véc tơ C++Truy vấn dưới đây là một loại chương trình điển hình được sử dụng để kiểm tra xem vectơ có chứa phần tử trùng lặp hay không. Nếu vectơ chứa một phần tử trùng lặp, nó sẽ trả về true nhưng nếu không, nó sẽ trả về false. #includeusing namespace std; //hàm kiểm tra xem vectơ //có chứa phần tử trùng lặp hay không bool containsDuplicate(vector { //check if the vector is empty if(nums.empty()) trả về sai; . bắt đầu(), số. end()); //sort the vector sort(nums.begin(), nums.end()); int i = 0; int j = i+1; while(j { //kiểm tra xem phần tử hiện tại //không bằng phần tử kế tiếp if(nums[i] != nums[j]) { i++; j++; } } . nums) } } } } } } } } } } } } } } } } } } } } else return true; } return false; } int main() { vector //print vector elements cout <<“Vector elements are “; for (int x : nums) cout << x << ” “; cout < /in kết quả if(containsDuplicate(nums)) cout <<“Vector contains a duplicate element”; else cout <<“Vector does not contain a duplicate element”; } Các cách khởi tạo một Vector trong C++Trong khởi tạo véc-tơ, véc-tơ có thể được khởi tạo mà không cần xác định kích thước của vùng chứa vì kích thước tự động tăng hoặc giảm. Để khởi tạo một vectơ, có sáu cách khác nhau về cách khởi tạo một vectơ trong C++.
Việc sử dụng một mảng có sẵn trong khởi tạo vector là một trong những cách tiêu chuẩn nhất. Một vectơ có thể được khởi tạo bằng cách sử dụng một mảng đã được xác định. Làm điều này liên quan đến việc chuyển các phần tử của mảng tới hàm tạo iterator của lớp vectơ. Hình minh họa // Chương trình CPP để khởi tạo một vector từ// một mảng. #include sử dụng không gian tên std; int main() { int arr[] = { 10, 20, 30 }; int n = sizeof(arr) / sizeof(arr[0]); vector for (int x : vect) cout << x << ” “; return 0; . Output: 10 20 30
Trong hàm tạo quá tải, hàm tạo chấp nhận hai phần tử. Kích thước của vectơ và giá trị được chèn được cung cấp trong quá trình khởi tạo vectơ C++. Giá trị được cung cấp sẽ được chèn vào vectơ nhiều lần bằng với kích thước được cung cấp của vectơ. Dưới đây là một minh họa về cách thực hiện Hình minh họa Input: vector đầu ra. Vectơ kết quả sẽ là 2 2 2 2 2 Input: vector đầu ra. Vectơ kết quả sẽ là 1 1 1 1 #include#include using namespace std; . \n”; int main() { // initialize size int size = 5; // initialize vector using an overloaded constructor vector // print the vector elements cout << “The vector v1 is: \n”; for (int i = 0; i < v1. kích thước(); . \n”; { cout << v1[i] << ” “; } cout << “\n”; // initialize vector v2 vector // print elements of vector v2 cout << “\nThe vector v2 is: \n”; for (int i = 0; i < v2. kích thước(); { cout << v2[i] << ” “; } cout << “\n\n”; return 0; }
Điều này liên quan đến việc chuyển trình vòng lặp của một vectơ đã được khởi tạo cho một hàm tạo của lớp vectơ. Làm điều này dẫn đến việc khởi tạo và tổng hợp một vectơ mới bởi các phần tử trong vectơ cũ. Dưới đây là một minh họa của mã Hình minh họa // Chương trình CPP để khởi tạo một vectơ từ// một vectơ khác. #include sử dụng không gian tên std; int main() { vector vector for (int x. vect2) cout << x << ” “; return 0; . Output: 10 20 30
Đây là một phương pháp quan trọng khác để khởi tạo các vectơ. Nó liên quan đến việc chuyển một mảng các phần tử tới hàm tạo của lớp vectơ. Tại đây, các phần tử mảng sẽ được chèn vào vector theo thứ tự dẫn đến việc tự động điều chỉnh kích thước của vector. Hình minh họa Đầu ra. Vectơ kết quả sẽ là. 10 20 30 40 50 Đầu vào. vector Đầu ra. Vectơ kết quả sẽ là. a b c d e #include #include using namespace std . \n”; int main() { // pass an array of integers to initialize the vector vector // print vector elements cout << “The vector elements are: \n”; for (int i = 0; i < v1. kích thước(); . \n”; { cout << v1[i] << ” “; } cout << “\n\n”; // pass an array of characters to initialize the vector vector // print vector elements cout << “The vector elements are: \n”; for (int i = 0; i < v2. kích thước(); { cout << v2[i] << ” “; } cout << “\n\n”; return 0; }
Bạn có thể sử dụng phương pháp này để chèn hoặc đẩy các phần tử vào một vectơ. Mỗi phần tử được chèn vào cuối vectơ và kích thước vectơ cũng tăng thêm 1. Tên của vectơ là vector_name. Trong phương pháp đẩy lùi, một phần tử được chấp nhận và phần tử được chèn vào cuối vectơ. Hình minh họa // Chương trình CPP để tạo một vectơ trống// và đẩy từng giá trị một. #include sử dụng không gian tên std; int main() { // Create an empty vector vector vect.push_back(10); vect. push_back(20); vect. push_back(30); for (int x. vect) cout << x << ” “; return 0; . 10, 20, 30 Output: 10, 20, 30
Đúng như tên gọi, nó gán hoặc lấp đầy tất cả các phần tử trong phạm vi đã chỉ định cho giá trị cụ thể. Dưới đây là một ví dụ về việc sử dụng chức năng điền Hình minh họa Xét các vectơ v1 và v2 có kích thước 5 Đầu vào. điền vào (v1. bắt đầu(), v1. kết thúc(), 6) đầu ra. Vectơ kết quả sẽ là 6 6 6 6 6 Đầu vào. điền vào (v2. bắt đầu() + 2, v2. bắt đầu() + 4, 6) đầu ra. Vectơ kết quả sẽ là 0 0 6 6 0 #include using namespace std; . bắt đầu(), v1. end(), 6); int main() { // declare a vector vector // initialize the vector using the fill() method fill(v1.begin(), v1.end(), 6); // khai báo một vectơ khác vector // . bắt đầu() + 2, v2. begin() + 4, 6); fill(v2.begin() + 2, v2.begin() + 4, 6); // in các phần tử vectơ cout << “Các phần tử vectơ là. \N"; . kích thước(); . \n”; { cout << v1[i] << ” “; } cout << “\n\n”; // print vector elements cout << “The vector elements are: \n”; for (int i = 0; i < v2. kích thước(); { cout << v2[i] << ” “; } cout << “\n\n”; return 0; } Làm thế nào để bạn khởi tạo các vectơ Vector?Trong khởi tạo vectơ C++, vectơ vectơ được gọi là vectơ hai chiều và để khởi tạo nó, trước tiên bạn có thể khởi tạo vectơ một chiều và sau đó sử dụng nó để khởi tạo vectơ hai chiều hoặc thực hiện trong một dòng. Dưới đây là một ví dụ về hai vectorvector hoặc vectorCách in một Vector trong C++Bạn có thể làm theo các mã cơ bản này về cách in một vectơ trong C++ #include#include void print(std. vectơ std. cout << “Các phần tử vector là. “; for(int i=0; i < a. kích thước(); . cout << a. at(i) << ‘ ‘; std::cout << a.at(i) << ‘ ‘; } int main() { std. vector print(a); return 0; } Output Bạn có cần khởi tạo vectơ trong C++ không?Cũng giống như mảng, vectơ có thể lưu trữ nhiều giá trị dữ liệu. Tuy nhiên, chúng chỉ có thể lưu trữ các tham chiếu đối tượng chứ không phải các kiểu dữ liệu nguyên thủy. Lưu trữ một tham chiếu đối tượng có nghĩa là các vectơ trỏ đến đối tượng thay vì lưu trữ chúng. Khác với mảng, vectơ không cần khởi tạo kích thước. Chúng có thể điều chỉnh theo số lượng tham chiếu đối tượng vì quá trình lưu trữ diễn ra tự động thông qua vùng chứa. Các vectơ có thể được tìm thấy và chuyển đổi ngang bằng cách sử dụng các trình vòng lặp, vì vậy chúng có thể được đặt trong bộ lưu trữ liên tục. Một thuộc tính khác của vectơ là biện pháp an toàn giúp chương trình không bị sập. Một vectơ là một lớp và các phần tử có thể bị xóa. Nhưng một mảng không phải là một lớp và các phần tử không thể bị xóa. C++ Khởi tạo Vector Với Kích thướcTrong C++, kích thước của vectơ có thể được khởi tạo khi bạn biết rõ về số lượng phần tử cần được lưu trữ. Ví dụ: nếu bạn đang truy xuất dữ liệu từ cơ sở dữ liệu hoặc các nguồn khác và bạn biết số lượng phần tử hiện có, giả sử là 500, thì bạn có thể tiến hành phân bổ vectơ bằng một mảng có thể chứa lượng dữ liệu đó. Mặc dù nếu bạn không biết kích thước sẽ là bao nhiêu, thì bạn có thể để vectơ phát triển theo thời gian. C++ Khởi tạo Vector thành 0Trong khởi tạo véc tơ, số lượng giá trị trong bộ khởi tạo được chuẩn bị sẵn sẽ ít hơn hoặc bằng số lượng phần tử của loại véc tơ. Có lẽ có bất kỳ phần tử nào chưa được khởi tạo, nó sẽ được khởi tạo bằng 0. Dưới đây là các ví dụ về khởi tạo vector bằng cách sử dụng danh sách bộ khởi tạo. vector không dấu int v1 = {1};// and the remaining 12 bytes with zeros vector unsigned int v2 = {1,2}; // initialize the first 8 bytes of v2 with 1 and 2 // and the remaining 8 bytes with zeros vector unsigned int v3 = {1,2,3,4}; // equivalent to the vector literal // (vector unsigned int) (1,2,3,4) Khởi tạo Vector trong ConstructorViệc chuyển một nhà thầu tới vector có thể được thực hiện bằng cách thực hiện theo các bước dưới đây; Thuật toánBắt đầu Khai báo một lớp có tên là vectơ. Khai báo vec của loại véc-tơ. Khai báo hàm tạo của lớp vectơ. Truyền đối tượng vectơ v làm tham số cho hàm tạo. Khởi tạo vec = v. Khai báo hàm show() để hiển thị các giá trị của vector. for (int i = 0; i < vec. kích thước(); . print the all values of variable i. Khai báo v của loại vectơ. Khởi tạo một số giá trị thành v trong mẫu mảng. Khai báo ob làm đối tượng dựa trên lớp vectơ. Truyền các giá trị của vectơ v qua đối tượng vectơ ob cho lớp vectơ. Gọi hàm show() sử dụng đối tượng vectơ để hiển thị tất cả các giá trị của vector v. Kết thúc. Khởi tạo 2d Vector C++Các vectơ hai chiều có thể được phát triển bằng một số phương pháp. Một số phương pháp là;
Khởi tạo Vector rỗng C++Để khởi tạo vector rỗng c ++, bạn có thể làm theo các bước được nêu trong mã bên dưới. //Chương trình C++ STL để tạo một vectơ trống//và khởi tạo bằng cách đẩy các giá trị #include #include using namespace std; int main() { //vector declaration vector //pushing the elements v1.push_back(10); v1. push_back(20); v1. push_back(30); v1. push_back(40); v1. push_back(50); //in các phần tử vectơ //tạo trình vòng lặp để truy cập các phần tử vector cout << “Các phần tử vectơ v1 là. “; cho (it = v1. bắt đầu(); . = v1. chấm dứt(); cout << *it << ” “; cout << endl; return 0; } ConclusionĐể sử dụng hiệu quả C++, việc có kiến thức chi tiết về vectơ và quá trình khởi tạo vectơ C++ là rất quan trọng. Vì vậy, dành thời gian của bạn và đam mê thực hành liên tục nên là mục tiêu của bạn. Bạn có thể duy trì thực hành nhất quán khi bạn ở trong cộng đồng những lập trình viên có cùng chí hướng. Tham gia Câu lạc bộ SDS để có quyền truy cập vào hàng trăm khóa học và trở thành một phần của cộng đồng đang phát triển gồm các kỹ sư và nhà khoa học điều khiển dữ liệu. Một lớp có thể chứa chính nó C++ không?Một khai báo lớp có thể chứa đối tượng tĩnh của kiểu tự , nó cũng có thể có con trỏ tới kiểu tự, nhưng nó không thể có đối tượng không tĩnh kiểu tự.
Một lớp có thể là thành viên của chính nó không?Cụ thể, mọi phần tử của một lớp là một tập hợp, vì vậy một lớp riêng không thể là phần tử của bất kỳ lớp nào (bao gồm cả chính nó). Tuy nhiên, hoàn toàn hợp lý khi cho phép các tập hợp là các phần tử của chính chúng.
Bạn có thể có một vectơ các lớp trong C++ không?Lớp vectơ Thư viện chuẩn C++ là mẫu lớp cho vùng chứa trình tự . Một vectơ lưu trữ các phần tử của một loại nhất định theo cách sắp xếp tuyến tính và cho phép truy cập ngẫu nhiên nhanh vào bất kỳ phần tử nào. Một vectơ là vùng chứa ưa thích cho một chuỗi khi hiệu suất truy cập ngẫu nhiên ở mức cao.
Một vectơ có thể lưu trữ một lớp không?Vectơ của các đối tượng lớp là một ví dụ về vectơ tùy chỉnh được tạo để chúng ta có thể lưu trữ nhiều thể hiện của lớp . Nếu chúng ta muốn dữ liệu về sinh viên thì hãy sử dụng cái này – vector |