用遞迴演算法實現逆序字串

2021-08-10 19:54:39 字數 871 閱讀 1293

題目:編寫乙個函式reverse_string(char * string)(遞迴實現)

實現:將引數字串中的字元反向排列。

要求:不能使用c函式庫中的字串操作函式。

解題思路:

逆序字串,就是將字串第一位和最後一位,第二位和倒數第二位依次互換,然後依次按序互換。根據題目給定函式reverse_string(char * string),就讓指標string指向第乙個字元。因為不能使用字串操作函式就自己寫乙個mystrlen()函式用於求字串長度,string+mystrlen(string)-1指向最後乙個字串。用string++依次指向下乙個元素。

如何指向第二個元素呢?自己再定義乙個static(靜態)變數time,這樣time就不會被銷毀。time記錄逆序次數,逆序一次time++,用string+mystrlen(string)-1-time指向倒數第n個數。而停止互換的條件就是當最中間的字元已互換過,用string

#define _crt_secure_no_warnings

#include

#include

int mystrlen(char arr)

return count;

}char *reverse_string(char *string)

return

string - 1;//返回第一次的位址,第一次傳值++string已經使指標指向第二個數,所以要-1指向第乙個

}int main()

附上乙個結果圖

用Python實現字串逆序

思路一 從字串末端開始取值,將取到的值依次放入到列表中。s input s list new j 1for i in range len s j 1print join s list new 通過join 函式將列表轉換為字串思路二 字串切片 python提供有步長的字串切片方式,例如 s hell...

實現字串的逆序

第一種遞迴方式實現 例如下邊這個程式,第一次把a取出來,存放在臨時變數中,將f放到a的位置,再將原來f的位置換為 0 再讓針針指向以b為首位址的字串,以此類推,直到指向的下乙個字串的長度不在大於一,遞迴呼叫函式結束,輸出一系列遞迴值。include include include include v...

函式實現字串逆序

本題要求實現乙個字串逆序的簡單函式。函式介面定義 void f char p 函式f對p指向的字串進行逆序操作。要求函式f中不能定義任何陣列,不能呼叫任何字串處理函式。include define maxs 20 voidf char p void readstring char s 由裁判實現,略...