Cách đảo ngược một mảng trong C ++, Python và JavaScript

Cách đảo ngược một mảng trong C ++, Python và JavaScript

Mảng là một tập hợp các mục được lưu trữ tại các vị trí bộ nhớ liền nhau. Đảo ngược mảng là một trong những hoạt động phổ biến nhất được thực hiện trên một mảng. Trong bài viết này, bạn sẽ học cách viết cách triển khai đảo ngược mảng của riêng mình bằng cách sử dụng các phương pháp lặp lại và đệ quy.





Phương pháp tiếp cận lặp đi lặp lại để đảo ngược một mảng

Báo cáo vấn đề

Bạn được cung cấp một mảng arr . Bạn cần đảo ngược các phần tử của mảng, sau đó in mảng đã đảo ngược. Bạn cần thực hiện giải pháp này bằng cách sử dụng các vòng lặp.





ví dụ 1 : Cho arr = [45, 12, 67, 63, 9, 23, 74]





Arr được đảo ngược = [74, 23, 9, 63, 67, 12, 45]

cách xóa mọi thứ khỏi google

Như vậy sản lượng là: 74 23 9 63 67 12 45.



Ví dụ 2 : Cho arr = [1, 2, 3, 4, 5, 6, 7, 8]

Arr được đảo ngược = [8, 7, 6, 5, 4, 3, 2, 1]





Như vậy đầu ra là: 8 7 6 5 4 3 2 1.

Phương pháp tiếp cận để đảo ngược một mảng bằng cách sử dụng vòng lặp

Bạn có thể đảo ngược các phần tử của một mảng bằng cách sử dụng các vòng lặp bằng cách làm theo cách tiếp cận bên dưới:





  1. Khởi tạo các biến chỉ mục 'i' và 'j' sao cho chúng trỏ đến chỉ mục đầu tiên (0) và chỉ số cuối cùng (sizeOfArray - 1) tương ứng của mảng.
  2. Trong một vòng lặp, hoán đổi phần tử ở chỉ số i với phần tử ở chỉ số j.
  3. Tăng giá trị của i lên 1 và giảm giá trị của j đi 1.
  4. Chạy vòng lặp cho đến khi tôi

Chương trình C ++ để đảo ngược một mảng bằng cách sử dụng vòng lặp

Dưới đây là chương trình C ++ để đảo ngược một mảng bằng cách sử dụng các vòng lặp:

// C++ program to reverse the elements of an array using loops
#include
using namespace std;

void reverseArr(int arr[], int size)
{
for(int i=0, j=size-1; i {
swap(arr[i], arr[j]);
}
}
void printArrayElements(int arr[], int size)
{
for(int i=0; i {
cout << arr[i] << ' ';
}
cout << endl;
}
// Driver Code
int main()
{
int arr[] = {45, 12, 67, 63, 9, 23, 74};
int size = sizeof(arr)/sizeof(arr[0]);
// Printing the original array
cout << 'Original Array: ' << endl;
printArrayElements(arr, size);
// Reversing the array
reverseArr(arr, size);
// Printing the reversed array
cout << 'Reversed array: ' << endl;
printArrayElements(arr, size);
return 0;
}

Đầu ra:

Original Array:
45 12 67 63 9 23 74
Reversed array:
74 23 9 63 67 12 45

Có liên quan: Cách đảo ngược một chuỗi trong C ++, Python và JavaScript

Chương trình Python để đảo ngược một mảng bằng cách sử dụng vòng lặp

Dưới đây là chương trình Python để đảo ngược một mảng bằng cách sử dụng các vòng lặp:

# Python program to reverse the elements of a list using loops
def reverseList(arr, size):
i = 0
j = size-1
while i arr[i], arr[j] = arr[j], arr[i]
i = i + 1
j = j - 1
def printListElements(arr, size):
for i in range(size):
print(arr[i], end=' ')
print()
# Driver Code
arr = [45, 12, 67, 63, 9, 23, 74]
size = len(arr)
# Printing the original array
print('Original Array:')
printListElements(arr, size)
# Reversing the array
reverseList(arr, size)
# Printing the reversed array
print('Reversed Array:')
printListElements(arr, size)

Đầu ra:

Original Array:
45 12 67 63 9 23 74
Reversed array:
74 23 9 63 67 12 45

Chương trình JavaScript để đảo ngược một mảng bằng cách sử dụng vòng lặp

Dưới đây là chương trình JavaScript để đảo ngược một mảng bằng cách sử dụng các vòng lặp:

Có liên quan: Giới thiệu về thuật toán sắp xếp hợp nhất

// JavaScript program to reverse the elements of an array using loops
function reverseArr(arr, size) {
for(let i=0, j=size-1; i<(size)/2; i++, j--) {
[arr[i], arr[j]] = [arr[j], arr[i]];
}
}
function printArrayElements(arr, size) {
for(let i=0; i document.write(arr[i] + ' ');
}
document.write('
');
}
// Driver Code
var arr = [45, 12, 67, 63, 9, 23, 74];
var size = arr.length;
// Printing the original array
document.write('Original Array: ' + '
');
printArrayElements(arr, size);
// Reversing the array
reverseArr(arr, size);
// Printing the reversed array
document.write('Reversed Array: ' + '
');
printArrayElements(arr, size);

Đầu ra:

Original Array:
45 12 67 63 9 23 74
Reversed array:
74 23 9 63 67 12 45

Phương pháp tiếp cận đệ quy để đảo ngược một mảng

Báo cáo vấn đề

Bạn được cung cấp một mảng arr . Bạn cần đảo ngược các phần tử của mảng, sau đó in mảng đã đảo ngược. Bạn cần thực hiện giải pháp này bằng cách sử dụng đệ quy.

ví dụ 1 : Cho arr = [45, 12, 67, 63, 9, 23, 74]

Arr được đảo ngược = [74, 23, 9, 63, 67, 12, 45]

Như vậy sản lượng là 74 23 9 63 67 12 45.

Ví dụ 2 : Cho arr = [1, 2, 3, 4, 5, 6, 7, 8]

Arr được đảo ngược = [8, 7, 6, 5, 4, 3, 2, 1]

Như vậy đầu ra là 8 7 6 5 4 3 2 1.

Phương pháp tiếp cận để đảo ngược một mảng bằng cách sử dụng đệ quy

Bạn có thể đảo ngược các phần tử của một mảng bằng cách sử dụng đệ quy bằng cách làm theo cách tiếp cận bên dưới:

  1. Khởi tạo các biến chỉ số bắt đầukết thúc sao cho chúng trỏ đến chỉ mục đầu tiên (0) và chỉ mục cuối cùng (sizeOfArray - 1) của mảng tương ứng.
  2. Hoán đổi phần tử tại chỉ mục bắt đầu với phần tử ở chỉ mục kết thúc .
  3. Gọi đệ quy hàm ngược. Trong các tham số của hàm ngược, tăng giá trị của bắt đầu bằng 1 và giảm giá trị của kết thúc bởi 1.
  4. Dừng đệ quy khi giá trị của bắt đầu biến lớn hơn hoặc bằng giá trị của kết thúc Biến đổi.

Chương trình C ++ để đảo ngược một mảng bằng cách sử dụng đệ quy

Dưới đây là chương trình C ++ để đảo ngược một mảng bằng cách sử dụng đệ quy:

// C++ program to reverse an array using recursion
#include
using namespace std;
void reverseArr(int arr[], int start, int end)
{
if (start >= end)
{
return;
}
swap(arr[start], arr[end]);
reverseArr(arr, start+1, end-1);
}
void printArrayElements(int arr[], int size)
{
for(int i=0; i {
cout << arr[i] << ' ';
}
cout << endl;
}
// Driver Code
int main()
{
int arr[] = {45, 12, 67, 63, 9, 23, 74};
int size = sizeof(arr)/sizeof(arr[0]);
// Printing the original array
cout << 'Original Array: ' << endl;
printArrayElements(arr, size);
// Reversing the array
reverseArr(arr, 0, size-1);
// Printing the reversed array
cout << 'Reversed array: ' << endl;
printArrayElements(arr, size);
return 0;
}

Đầu ra:

Original Array:
45 12 67 63 9 23 74
Reversed array:
74 23 9 63 67 12 45

Chương trình Python để đảo ngược một mảng bằng cách sử dụng đệ quy

Dưới đây là chương trình Python để đảo ngược một mảng bằng cách sử dụng đệ quy:

cài đặt windows 10 trên ổ USB flash

Liên quan: Lập trình động: Ví dụ, Sự cố thường gặp và Giải pháp

# Python program to reverse an array using recursion
def reverseList(arr, start, end):
if start >= end:
return
arr[start], arr[end] = arr[end], arr[start]
reverseList(arr, start+1, end-1)
def printListElements(arr, size):
for i in range(size):
print(arr[i], end=' ')
print()
# Driver Code
arr = [45, 12, 67, 63, 9, 23, 74]
size = len(arr)
# Printing the original array
print('Original Array:')
printListElements(arr, size)
# Reversing the array
reverseList(arr, 0, size-1)
# Printing the reversed array
print('Reversed Array:')
printListElements(arr, size)

Đầu ra:

Original Array:
45 12 67 63 9 23 74
Reversed array:
74 23 9 63 67 12 45

Chương trình JavaScript để đảo ngược một mảng bằng cách sử dụng đệ quy

Dưới đây là chương trình JavaScript để đảo ngược một mảng bằng cách sử dụng đệ quy:

Liên quan: Cách tìm tổng các số tự nhiên bằng cách sử dụng đệ quy

// JavaScript program to reverse an array using recursion
function reverseArr(arr, start, end)
{
if (start >= end)
{
return;
}
[arr[start], arr[end]] = [arr[end], arr[start]];
reverseArr(arr, start+1, end-1);
}
function printArrayElements(arr, size)
{
for(let i=0; i {
document.write(arr[i] + ' ');
}
document.write('
');
}
// Driver Code
var arr = [45, 12, 67, 63, 9, 23, 74];
let size = arr.length;
// Printing the original array
document.write('Original Array: ' + '
');
printArrayElements(arr, size);
// Reversing the array
reverseArr(arr, 0, size-1);
// Printing the reversed array
document.write('Reversed Array: ' + '
');
printArrayElements(arr, size);

Đầu ra:

Original Array:
45 12 67 63 9 23 74
Reversed array:
74 23 9 63 67 12 45

Sử dụng đệ quy để giải quyết vấn đề

Một hàm đệ quy là một hàm gọi chính nó. Trong đệ quy, một vấn đề được giải quyết bằng cách chia nhỏ các vấn đề thành các phiên bản nhỏ hơn, đơn giản hơn của chúng.

Có nhiều ưu điểm của đệ quy: mã đệ quy ngắn hơn mã lặp, nó có thể được sử dụng để giải quyết các vấn đề tự nhiên đệ quy, nó có thể được sử dụng trong các đánh giá tiền tố, tiền tố, hậu tố, đệ quy làm giảm thời gian cần thiết để viết và mã gỡ lỗi, v.v.

Đệ quy là một chủ đề yêu thích của người phỏng vấn trong các cuộc phỏng vấn kỹ thuật. Bạn phải biết về đệ quy và cách sử dụng nó trong khi viết mã để trở thành lập trình viên hiệu quả nhất có thể.

Đăng lại Đăng lại tiếng riu ríu E-mail Đệ quy là gì và bạn sử dụng nó như thế nào?

Tìm hiểu những kiến ​​thức cơ bản về đệ quy, công cụ cần thiết nhưng hơi khó hiểu cho các lập trình viên.

Đọc tiếp
Chủ đề liên quan
  • Lập trình
  • JavaScript
  • Python
  • Hướng dẫn viết mã
Giới thiệu về tác giả Yuvraj Chandra(60 bài báo đã xuất bản)

Yuvraj là sinh viên ngành Khoa học Máy tính tại Đại học Delhi, Ấn Độ. Anh ấy đam mê Phát triển Web Full Stack. Khi không viết, anh ấy đang khám phá chiều sâu của các công nghệ khác nhau.

Xem thêm từ Yuvraj Chandra

Theo dõi bản tin của chúng tôi

Tham gia bản tin của chúng tôi để biết các mẹo công nghệ, đánh giá, sách điện tử miễn phí và các ưu đãi độc quyền!

Bấm vào đây để đăng ký