使用遞迴反轉句子的 C++ 程式
字串是一維字元陣列,以空字元結尾。字串的反轉是指將同一個字串以相反的順序排列。例如:
Original String: Apple is red Reversed String: der si elppA
下面是一個使用遞迴反轉字串形式的句子的程式。
示例
#include <iostream>
using namespace std;
void reverse(char *str) {
if(*str == '\0')
return;
else {
reverse(str+1);
cout<<*str;
}
}
int main() {
char str[] = "C++ is fun";
cout<<"Original String: "<<str<<endl;
cout<<"Reversed String: ";
reverse(str);
return 0;
}輸出
Original String: C++ is fun Reversed String: nuf si ++C
在上面的程式中,函式 reverse() 是一個遞迴函式,用於反轉字串。
最初,reverse() 接受 *str,它是一個指向字串開頭的指標。如果值為 null,則函式返回。如果不是,則函式使用值 str+1(即字串中的下一個元素)遞迴呼叫自身。最終,當 str 為 null 時,str 的值將從後往前列印。因此,打印出反轉後的字串。如下程式碼片段所示。
if(*str == '\0')
return;
else {
reverse(str+1);
cout<<*str;
}在 main() 函式中,初始化字串。並且顯示原始字串和反轉後的字串。如下所示:
char str[] = "C++ is fun"; cout<<"Original String: "<<str<<endl; cout<<"Reversed String: "; reverse(str);
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP