Share reverse vector c++

brownkoala883

New member
## Đảo ngược một vectơ trong C ++

Một vectơ là một chuỗi các phần tử cùng loại, được lưu trữ liên tục trong bộ nhớ.Đây là một cấu trúc dữ liệu rất hiệu quả để lưu trữ và truy cập dữ liệu.Trong hướng dẫn này, chúng tôi sẽ học cách đảo ngược một vectơ trong C ++.

### 1. đảo ngược một vectơ bằng hàm `lùi ()`

Hàm `Reversion ()` là hàm tích hợp trong thư viện tiêu chuẩn C ++ có thể được sử dụng để đảo ngược thứ tự của các phần tử trong một vectơ.Cú pháp của hàm `Reverse ()` như sau:

`` `C ++
STD :: Đảo ngược (V.Begin (), V.End ());
`` `

Trong đó `V` là vectơ mà bạn muốn đảo ngược.

Mã sau đây cho thấy cách sử dụng hàm `Reverse ()` để đảo ngược một vectơ:

`` `C ++
#include <Istream>
#include <Vector>

sử dụng không gian tên STD;

int main () {
// Tạo một vectơ số nguyên.
Vector <Int> V = {1, 2, 3, 4, 5};

// In vectơ ban đầu.
cout << "vectơ gốc:";
for (int i = 0; i <v.size (); i ++) {
cout << v << "";
}
cout << endl;

// đảo ngược vector.
STD :: Đảo ngược (V.Begin (), V.End ());

// In vectơ đảo ngược.
cout << "Vector đảo ngược:";
for (int i = 0; i <v.size (); i ++) {
cout << v << "";
}
cout << endl;

trả lại 0;
}
`` `

Đầu ra:

`` `
Vector gốc: 1 2 3 4 5
Vector đảo ngược: 5 4 3 2 1
`` `

### 2. đảo ngược một vectơ bằng cách sử dụng vòng lặp

Bạn cũng có thể đảo ngược một vectơ bằng một vòng lặp.Mã sau đây cho thấy cách làm điều này:

`` `C ++
#include <Istream>
#include <Vector>

sử dụng không gian tên STD;

int main () {
// Tạo một vectơ số nguyên.
Vector <Int> V = {1, 2, 3, 4, 5};

// In vectơ ban đầu.
cout << "vectơ gốc:";
for (int i = 0; i <v.size (); i ++) {
cout << v << "";
}
cout << endl;

// đảo ngược vectơ bằng một vòng lặp.
for (int i = v.size ()-1; i> = 0; i--) {
cout << v << "";
}
cout << endl;

trả lại 0;
}
`` `

Đầu ra:

`` `
Vector gốc: 1 2 3 4 5
Vector đảo ngược: 5 4 3 2 1
`` `

### 3. đảo ngược một vector tại chỗ

Hàm `Reverse ()` và cách tiếp cận dựa trên vòng lặp để đảo ngược một vectơ cả hai hoạt động bằng cách tạo một vectơ mới và sao chép các phần tử từ vectơ ban đầu sang vectơ mới theo thứ tự ngược lại.Điều này có thể không hiệu quả nếu vectơ lớn.

Để đảo ngược một vectơ tại chỗ, bạn có thể sử dụng thuật toán sau:

1. Tạo một biến `I` và khởi tạo nó thành chỉ mục của phần tử cuối cùng trong vectơ.
2. Lặp qua vectơ, bắt đầu từ phần tử cuối cùng và chuyển sang phần tử đầu tiên.
3. Ở mỗi lần lặp, trao đổi phần tử tại chỉ mục `i` với phần tử tại chỉ mục` i - 1`.
4. Giảm `i` bởi 1.
5. Lặp lại các bước 2-4 cho đến khi `i` bằng 0.

Mã sau đây cho thấy cách đảo ngược một vectơ tại chỗ:

`` `C ++
#include <Istream>
#bao gồm
=======================================
## Reverse a Vector in C++

A vector is a sequence of elements of the same type, stored contiguously in memory. It is a very efficient data structure for storing and accessing data. In this tutorial, we will learn how to reverse a vector in C++.

### 1. Reversing a vector using the `reverse()` function

The `reverse()` function is a built-in function in the C++ Standard Library that can be used to reverse the order of the elements in a vector. The syntax of the `reverse()` function is as follows:

```c++
std::reverse(v.begin(), v.end());
```

where `v` is the vector that you want to reverse.

The following code shows how to use the `reverse()` function to reverse a vector:

```c++
#include <iostream>
#include <vector>

using namespace std;

int main() {
// Create a vector of integers.
vector<int> v = {1, 2, 3, 4, 5};

// Print the original vector.
cout << "Original vector: ";
for (int i = 0; i < v.size(); i++) {
cout << v << " ";
}
cout << endl;

// Reverse the vector.
std::reverse(v.begin(), v.end());

// Print the reversed vector.
cout << "Reversed vector: ";
for (int i = 0; i < v.size(); i++) {
cout << v << " ";
}
cout << endl;

return 0;
}
```

Output:

```
Original vector: 1 2 3 4 5
Reversed vector: 5 4 3 2 1
```

### 2. Reversing a vector using a loop

You can also reverse a vector using a loop. The following code shows how to do this:

```c++
#include <iostream>
#include <vector>

using namespace std;

int main() {
// Create a vector of integers.
vector<int> v = {1, 2, 3, 4, 5};

// Print the original vector.
cout << "Original vector: ";
for (int i = 0; i < v.size(); i++) {
cout << v << " ";
}
cout << endl;

// Reverse the vector using a loop.
for (int i = v.size() - 1; i >= 0; i--) {
cout << v << " ";
}
cout << endl;

return 0;
}
```

Output:

```
Original vector: 1 2 3 4 5
Reversed vector: 5 4 3 2 1
```

### 3. Reversing a vector in-place

The `reverse()` function and the loop-based approach to reversing a vector both work by creating a new vector and copying the elements from the original vector to the new vector in reverse order. This can be inefficient if the vector is large.

To reverse a vector in-place, you can use the following algorithm:

1. Create a variable `i` and initialize it to the index of the last element in the vector.
2. Iterate through the vector, starting from the last element and moving to the first element.
3. At each iteration, swap the element at index `i` with the element at index `i - 1`.
4. Decrement `i` by 1.
5. Repeat steps 2-4 until `i` is equal to 0.

The following code shows how to reverse a vector in-place:

```c++
#include <iostream>
#include
 
Join Telegram ToolsKiemTrieuDoGroup
Back
Top