วิธีย้อนกลับอาร์เรย์ใน C ++, Python และ JavaScript

วิธีย้อนกลับอาร์เรย์ใน C ++, Python และ JavaScript

อาร์เรย์คือชุดของรายการที่จัดเก็บไว้ในตำแหน่งหน่วยความจำที่อยู่ติดกัน การกลับรายการของอาร์เรย์เป็นหนึ่งในการดำเนินการที่พบบ่อยที่สุดในอาร์เรย์ ในบทความนี้ คุณจะได้เรียนรู้วิธีเขียนการใช้งานการกลับรายการอาร์เรย์ของคุณเองโดยใช้วิธีการแบบวนซ้ำและแบบเรียกซ้ำ





วิธีการวนซ้ำเพื่อย้อนกลับอาร์เรย์

คำชี้แจงปัญหา

คุณได้รับอาร์เรย์ arr . คุณต้องย้อนกลับองค์ประกอบของอาร์เรย์ จากนั้นพิมพ์อาร์เรย์ที่กลับด้าน คุณต้องใช้โซลูชันนี้โดยใช้ลูป





ตัวอย่างที่ 1 : ให้ arr = [45, 12, 67, 63, 9, 23, 74]





กลับค่า arr = [74, 23, 9, 63, 67, 12, 45]

แล็ปท็อปของฉันใช้แรมรุ่นอะไร

ผลลัพธ์ที่ได้คือ: 74 23 9 63 67 12 45



ตัวอย่างที่ 2 : ให้ arr = [1, 2, 3, 4, 5, 6, 7, 8]

กลับค่า arr = [8, 7, 6, 5, 4, 3, 2, 1]





ผลลัพธ์ที่ได้คือ: 8 7 6 5 4 3 2 1

วิธีการย้อนกลับอาร์เรย์โดยใช้ลูป

คุณสามารถย้อนกลับองค์ประกอบของอาร์เรย์โดยใช้ลูปโดยทำตามวิธีการด้านล่าง:





  1. เริ่มต้นตัวแปรดัชนี 'i' และ 'j' เพื่อให้ชี้ไปที่ดัชนีแรก (0) และดัชนีสุดท้าย (sizeOfArray - 1) ของอาร์เรย์ตามลำดับ
  2. ในลูป ให้สลับองค์ประกอบที่ดัชนี i กับองค์ประกอบที่ดัชนี j
  3. เพิ่มค่าของ i ขึ้น 1 และลดค่าของ j ขึ้น 1
  4. วนซ้ำจนกว่า i

โปรแกรม C ++ เพื่อย้อนกลับอาร์เรย์โดยใช้ลูป

ด้านล่างนี้คือโปรแกรม C++ เพื่อย้อนกลับอาร์เรย์โดยใช้ลูป:

// 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;
}

เอาท์พุท:

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

ที่เกี่ยวข้อง: วิธีย้อนกลับสตริงใน C ++, Python และ JavaScript

โปรแกรม Python เพื่อย้อนกลับอาร์เรย์โดยใช้ลูป

ด้านล่างนี้คือโปรแกรม Python เพื่อย้อนกลับอาร์เรย์โดยใช้ลูป:

# 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)

เอาท์พุท:

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

โปรแกรม JavaScript เพื่อย้อนกลับอาร์เรย์โดยใช้ลูป

ด้านล่างนี้คือโปรแกรม JavaScript เพื่อย้อนกลับอาร์เรย์โดยใช้ลูป:

ที่เกี่ยวข้อง: บทนำสู่อัลกอริทึมการเรียงลำดับการผสาน

// 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);

เอาท์พุท:

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

วิธีการแบบเรียกซ้ำเพื่อย้อนกลับอาร์เรย์

คำชี้แจงปัญหา

คุณได้รับอาร์เรย์ arr . คุณต้องย้อนกลับองค์ประกอบของอาร์เรย์ จากนั้นพิมพ์อาร์เรย์ที่กลับด้าน คุณต้องใช้โซลูชันนี้โดยใช้การเรียกซ้ำ

ตัวอย่างที่ 1 : ให้ arr = [45, 12, 67, 63, 9, 23, 74]

กลับค่า arr = [74, 23, 9, 63, 67, 12, 45]

ดังนั้นผลลัพธ์คือ 74 23 9 63 67 12 45

ตัวอย่างที่ 2 : ให้ arr = [1, 2, 3, 4, 5, 6, 7, 8]

กลับค่า arr = [8, 7, 6, 5, 4, 3, 2, 1]

ดังนั้นผลลัพธ์คือ 8 7 6 5 4 3 2 1

แนวทางในการย้อนกลับอาร์เรย์โดยใช้การเรียกซ้ำ

คุณสามารถย้อนกลับองค์ประกอบของอาร์เรย์โดยใช้การเรียกซ้ำโดยทำตามวิธีการด้านล่าง:

  1. เริ่มต้นตัวแปรดัชนี เริ่ม และ จบ โดยชี้ไปที่ดัชนีแรก (0) และดัชนีสุดท้าย (sizeOfArray - 1) ของอาร์เรย์ตามลำดับ
  2. สลับองค์ประกอบที่ดัชนี เริ่ม ด้วยองค์ประกอบที่ดัชนี จบ .
  3. เรียกฟังก์ชันย้อนกลับซ้ำๆ ในพารามิเตอร์ของฟังก์ชันย้อนกลับ ให้เพิ่มค่าของ เริ่ม โดย 1 และลดค่าของ จบ โดย 1
  4. หยุดการเรียกซ้ำเมื่อค่าของ เริ่ม ตัวแปรมากกว่าหรือเท่ากับค่าของ จบ ตัวแปร.

โปรแกรม C ++ เพื่อย้อนกลับอาร์เรย์โดยใช้การเรียกซ้ำ

ด้านล่างนี้คือโปรแกรม C ++ เพื่อย้อนกลับอาร์เรย์โดยใช้การเรียกซ้ำ:

// 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;
}

เอาท์พุท:

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

โปรแกรม Python เพื่อย้อนกลับอาร์เรย์โดยใช้การเรียกซ้ำ

ด้านล่างนี้คือโปรแกรม Python เพื่อย้อนกลับอาร์เรย์โดยใช้การเรียกซ้ำ:

วิธีขอเป็นเพื่อนใน fb

ที่เกี่ยวข้อง: การเขียนโปรแกรมแบบไดนามิก: ตัวอย่าง ปัญหาทั่วไป และวิธีแก้ไข

# 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)

เอาท์พุท:

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

โปรแกรม JavaScript เพื่อย้อนกลับอาร์เรย์โดยใช้การเรียกซ้ำ

ด้านล่างนี้คือโปรแกรม JavaScript เพื่อย้อนกลับอาร์เรย์โดยใช้การเรียกซ้ำ:

ที่เกี่ยวข้อง: วิธีหาผลรวมของจำนวนธรรมชาติโดยใช้การเรียกซ้ำ

// 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);

เอาท์พุท:

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

ใช้การเรียกซ้ำเพื่อแก้ปัญหา

ฟังก์ชันแบบเรียกซ้ำคือฟังก์ชันที่เรียกตัวเอง ในการเรียกซ้ำ ปัญหาจะได้รับการแก้ไขโดยแยกปัญหาออกเป็นเวอร์ชันที่เล็กกว่าและเรียบง่ายกว่าของตัวเอง

มีข้อดีหลายประการของการเรียกซ้ำ: รหัสแบบเรียกซ้ำสั้นกว่ารหัสแบบวนซ้ำ สามารถใช้ในการแก้ปัญหาที่เรียกซ้ำตามธรรมชาติ สามารถนำมาใช้ใน infix คำนำหน้า การประเมิน postfix การเรียกซ้ำช่วยลดเวลาในการเขียนและ รหัสดีบัก ฯลฯ

การเรียกซ้ำเป็นหัวข้อโปรดของผู้สัมภาษณ์ในการสัมภาษณ์ทางเทคนิค คุณต้องรู้เกี่ยวกับการเรียกซ้ำและวิธีใช้งานในขณะที่เขียนโค้ดเพื่อเป็นโปรแกรมเมอร์ที่มีประสิทธิภาพสูงสุดที่คุณจะเป็นได้

แบ่งปัน แบ่งปัน ทวีต อีเมล การเรียกซ้ำคืออะไรและคุณใช้งานอย่างไร?

เรียนรู้พื้นฐานของการเรียกซ้ำ ซึ่งเป็นเครื่องมือที่จำเป็นแต่ชวนคิดเล็กน้อยสำหรับโปรแกรมเมอร์

อ่านต่อไป
หัวข้อที่เกี่ยวข้อง
  • การเขียนโปรแกรม
  • JavaScript
  • Python
  • บทเรียนการเข้ารหัส
เกี่ยวกับผู้เขียน ยุวราช จันทรา(60 บทความที่ตีพิมพ์)

Yuvraj เป็นนักศึกษาระดับปริญญาตรีสาขาวิทยาการคอมพิวเตอร์ที่มหาวิทยาลัยเดลี ประเทศอินเดีย เขาหลงใหลเกี่ยวกับ Full Stack Web Development เมื่อไม่ได้เขียน เขากำลังสำรวจความลึกของเทคโนโลยีต่างๆ

เพิ่มเติมจาก Yuvraj Chandra

สมัครรับจดหมายข่าวของเรา

เข้าร่วมจดหมายข่าวของเราสำหรับเคล็ดลับทางเทคนิค บทวิจารณ์ eBook ฟรี และดีลพิเศษ!

คลิกที่นี่เพื่อสมัครสมาชิก