Низ је збирка ставки ускладиштених на суседним меморијским локацијама. Обртање низа једна је од најчешћих операција које се изводе на низу. У овом чланку ћете научити како написати властиту имплементацију преокретања низа користећи итеративне и рекурзивне приступе.
Итеративни приступ обрнутом низу
Изјава о проблему
Добили сте низ арр . Морате да обрнете елементе низа, а затим одштампате обрнути низ. Ово решење морате применити помоћу петљи.
Пример 1 : Нека је арр = [45, 12, 67, 63, 9, 23, 74]
Обрнути арр = [74, 23, 9, 63, 67, 12, 45]
како пробудити Виндовс 10 из режима спавања
Тако је излаз: 74 23 9 63 67 12 45.
Пример 2 : Нека је арр = [1, 2, 3, 4, 5, 6, 7, 8]
Обрнути арр = [8, 7, 6, 5, 4, 3, 2, 1]
Тако је излаз: 8 7 6 5 4 3 2 1.
Приступ обрнутом низу помоћу петљи
Можете обрнути елементе низа помоћу петљи следећи доњи приступ:
- Иницијализујте променљиве индекса 'и' и 'ј' тако да указују на први (0) и последњи (сизеОфАрраи - 1) индекс низа.
- У петљи замените елемент у индексу и са елементом у индексу ј.
- Повећајте вредност и за 1 и смањите вредност ј за 1.
- Покрените петљу до и
Ц ++ програм за преокретање низа помоћу петљи
Испод је програм Ц ++ за преокретање низа помоћу петљи:
// 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
Повезан: Како преокренути низ у Ц ++, Питхон и ЈаваСцрипт
Питхон програм за преокретање низа помоћу петљи
Испод је програм Питхон за преокретање низа помоћу петљи:
# 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 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
Рекурзивни приступ обрнутом низу
Изјава о проблему
Добили сте низ арр . Морате да обрнете елементе низа, а затим одштампате обрнути низ. Ово решење морате применити помоћу рекурзије.
Пример 1 : Нека је арр = [45, 12, 67, 63, 9, 23, 74]
Обрнути арр = [74, 23, 9, 63, 67, 12, 45]
Тако је излаз 74 23 9 63 67 12 45.
Пример 2 : Нека је арр = [1, 2, 3, 4, 5, 6, 7, 8]
Обрнути арр = [8, 7, 6, 5, 4, 3, 2, 1]
Тако је излаз 8 7 6 5 4 3 2 1.
Приступ обрнутом низу помоћу рекурзије
Можете поништити елементе низа помоћу рекурзије слиједећи доњи приступ:
- Иницијализујте променљиве индекса почетак и крај тако да указују на први (0) и последњи (сизеОфАрраи - 1) индекс низа.
- Замените елемент на индексу почетак са елементом на индексу крај .
- Рекурзивно позовите обрнуту функцију. У параметрима обрнуте функције повећајте вредност почетак за 1 и смањи вредност крај до 1.
- Зауставите рекурзију када се вредност почетак променљива је већа или једнака вредности крај променљива.
Ц ++ програм за преокретање низа помоћу рекурзије
Испод је програм Ц ++ за преокретање низа помоћу рекурзије:
// 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 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 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
Користите рекурзију за решавање проблема
Рекурзивна функција је функција која се сама позива. У рекурзији, проблем се решава разбијањем проблема на мање, једноставније верзије самих себе.
Много је предности рекурзије: рекурзивни код је краћи од итеративног кода, може се користити за решавање проблема који су природно рекурзивни, може се користити у проценама инфикса, префикса, постфикса, рекурзија скраћује време потребно за писање и код за отклањање грешака итд.
Рекурзија је омиљена тема анкетара у техничким интервјуима. Морате знати о рекурзији и како је користити приликом писања кода да бисте били најефикаснији програмер који можете бити.
Објави Објави Твеет Емаил Шта је рекурзија и како је користите?Научите основе рекурзије, основни, али помало запањујући алат за програмере.
Прочитајте следеће Повезане теме- Програмирање
- ЈаваСцрипт
- Питхон
- Кодирање Туториали
Иуврај је студент основних студија рачунарства на Универзитету у Делхију у Индији. Он је страствен за Фулл Стацк Веб Девелопмент. Кад не пише, истражује дубину различитих технологија.
Још од Иуврај ЦхандраПретплатите се на наш билтен
Придружите се нашем билтену за техничке савете, критике, бесплатне е -књиге и ексклузивне понуде!
Кликните овде да бисте се претплатили