C 演算法之 「字串原地迴圈左移」

2021-10-01 17:06:33 字數 504 閱讀 7262

#include#includeusing namespace std;

void change(int i,int j,char st)

}int main() {

int k;

int n;

char st[20];

cout<<"請輸入要交換的字串"<>st;

cout<<"請輸入交換的位數"<>k;

n=strlen(st)-1; //獲得陣列實際長度

//第一、二位引數是交換字元進行迴圈的範圍,第三位是陣列位址

change(0,k-1,st); //交換幾位,將幾位倒序

change(k,n,st); //將剩下的位數也倒序

change(0,n,st); //全部倒序 ,即原序,且字元已交換

cout<<"交換後的結果為"<有任何問題,懇請指正

手敲不易,如果覺得不錯還請點讚支援下~

迴圈左移字串

題目 字串的左旋轉操作是把字串前面的若干字元轉移到字串的尾部。請定義乙個函式實現字串左旋轉操作的功能。比如輸入字串 abcdefg 和陣列2,該函式將返回左旋轉2位得到的結果 cdefgab 分析 通過reverse操作 乙個序列abcdefg,如果向左迴圈移動n位,例如2位,則會程式設計 defg...

字串迴圈左移

問題描述 給定乙個字串s 0.n 1 要求把s的前k個字元移動到s的尾部,如把字串 abcdef 前面的2個字元 a 和 b 移動到字串的尾部,得到新的字串 cdefab 即字串迴圈左移k。演算法分析 把abcdef看成是由x ab和y cdef組成,由矩陣轉稚公式 x y yx,如x ab x b...

字串迴圈左移

給定乙個字串s,要求把s的前k個字元移動到s的尾部,如把字串 abcdef 前面的2個字元 a b 移動到字串的尾部,得到新字串 cdefab 稱作字串迴圈左移k位。輸入乙個字串和乙個非負整數n,要求將字串迴圈左移n次。可以使用以下語句實現字串s的輸入 s str input 可以使用以下語句實現非...