โจทย์
Recursion คือวิธีการทำซ้ำสิ่งต่างๆ ในลักษณะ self-similar ในภาษาโปรแกรมมิ่ง หากโปรแกรมอนุญาตให้คุณเรียกฟังก์ชันภายในฟังก์ชันเดียวกัน เรียกว่า recursive call ของฟังก์ชัน คุณสามารถกลับสตริงได้โดยใช้ recursive function ตามโปรแกรมด้านล่าง
ตัวอย่างโค้ด C++
#include <bits/stdc++.h>
using namespace std;
void reverse(string str){
if(str.size() == 0){
return;
}
reverse(str.substr(1));
cout << str[0];
}
int main(){
string a = "Arnold";
cout<<"recursive reverse (Arnold) ::";
reverse(a);
return 0;
}
ผลลัพธ์
โปรแกรม C++ ด้านบนรับสตริง "Arnold" เป็นอินพุต แล้วให้ผลลัพธ์เป็น "dlonrA" โดยใช้ recursion ดังนี้;
Recursive reverse (Arnold):: dlonrA