中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

實現一個函數,可以左旋字符串中的k個字符。

發布時間:2020-08-15 17:46:07 來源:網絡 閱讀:173 作者:be_better_ 欄目:編程語言

題目:實現一個函數,可以左旋字符串中的k個字符。
ABCD左旋一個字符得到BCDA
ABCD左旋兩個字符得到CDAB

方法一:直接旋轉
void left_move(chararr, int k)//左旋字符串
{
char tmp = 0;
char
p = arr;
while (k!=0)
{
tmp =p;
while (
(p+1) != '\0')
{
p = (p + 1);
p++;
}
*p = tmp;
k--;
}
}

方法二:
void left_move2(char*arr, int k)//更優解法
//要旋轉三次分三步abcdef==》defabc
//1.先旋轉前面k個==》cbadef
//2.再轉后面的剩余部分==》cbafed
//3.整體旋轉==》defabc
{
int len = strlen(arr);
void Reverse(left, right);
Reverse(arr, arr + k - 1);
Reverse(arr + k, arr + len - 1);
Reverse(arr, arr + len - 1);
}

void Reverse(charleft, charright)
{
char tmp = 0;
while (left < right)
{
tmp = left;
left = right;
right = tmp;
left++;
right--;
}
}

int main()
{
int k = 2;
char arr[] = "abcd";
int len = strlen(arr);
/left_move(arr, 2);/
int left = arr;
int right = arr + len - 1;
left_move2(arr, k);
printf("%s", arr);

system("pause");
return 0;

}

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

克东县| 明星| 黄梅县| 凉山| 高台县| 白朗县| 清涧县| 儋州市| 永善县| 云霄县| 河东区| 中牟县| 资中县| 大理市| 平阳县| 永城市| 施甸县| 镇康县| 长宁县| 封开县| 渑池县| 汝阳县| 诸暨市| 永吉县| 砀山县| 军事| 惠来县| 义马市| 锡林郭勒盟| 泽州县| 乾安县| 墨竹工卡县| 甘洛县| 缙云县| 永仁县| 中山市| 武川县| 东城区| 济南市| 布拖县| 青铜峡市|