XY
沒(méi)有任何借口
posts - 9, comments - 31, trackbacks - 0, articles - 0
C++博客
::
首頁(yè)
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
反轉(zhuǎn)字符串
Posted on 2008-06-04 16:22
路緣
閱讀(9834)
評(píng)論(2)
編輯
收藏
引用
所屬分類:
C/C++
題目:
編寫函數(shù)reverse_string,它的原型如下:
void reverse_string(char *str);
函數(shù)把參數(shù)字符串中的字符串反向排列。請(qǐng)使用指針而不是數(shù)組下標(biāo),不要使用任何C函數(shù)庫(kù)中用于操縱字符串的函數(shù)。提示:不要聲明一個(gè)局部數(shù)組來(lái)臨時(shí)存儲(chǔ)參數(shù)字符串。
算法:
關(guān)于反轉(zhuǎn)字符串的方法很多。這里我給出我想到的一種算法。
/**/
/*
***********反轉(zhuǎn)字符串***********
*/
void
reverse_str(
char
*
str)
{
char
*
cp
=
str;
int
i
=
0
;
while
(
*
str
!=
'
\0
'
)
{
str
++
;
i
++
;
}
i
/=
2
;
str
--
;
while
(i
--
>
0
)
{
*
str
^=
*
cp;
*
cp
^=
*
str;
*
str
^=
*
cp;
str
--
;
cp
++
;
}
}
說(shuō)明:
算法中運(yùn)用了:
a ^ a = 0 和 a ^ 0 = a
的特性。以此來(lái)進(jìn)行變量值的交換,可以避免使用額外的臨時(shí)變量。
Feedback
#
re: 反轉(zhuǎn)字符串
回復(fù)
更多評(píng)論
2012-11-15 22:28 by
周翀
三次異或可以互換兩個(gè)值,也可以毀掉兩個(gè)值,當(dāng)它們相等的時(shí)候……
#
re: 反轉(zhuǎn)字符串
回復(fù)
更多評(píng)論
2017-09-29 22:46 by
路緣
@周翀
剛一看,嚇我一跳,以為一直認(rèn)為的解法有問(wèn)題。細(xì)想一下,值相等也無(wú)妨。當(dāng)毀掉其中一個(gè)值后,再做異或,另一個(gè)值就會(huì)得到保留,做第3次計(jì)算,毀掉的那個(gè)值也被恢復(fù)了,所以沒(méi)有問(wèn)題。
刷新評(píng)論列表
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開(kāi)源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
算法:快速排序之python實(shí)現(xiàn)
算法:找出n個(gè)數(shù)中重復(fù)最多的10個(gè)數(shù)
反轉(zhuǎn)字符串
刪除字符串中的子串
得到字符串S1中第一個(gè)且是字符串S2中的位置指針
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問(wèn)
Chat2DB
管理
Powered by:
C++博客
Copyright © 路緣
日歷
<
2025年8月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
常用鏈接
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
(5)
給我留言
查看公開(kāi)留言
查看私人留言
隨筆分類
(9)
C/C++(5)
計(jì)算機(jī)圖形學(xué)(1)
數(shù)字圖像
網(wǎng)絡(luò)通信
系統(tǒng)體系(2)
移動(dòng)開(kāi)發(fā)(1)
隨筆檔案
(9)
2017年9月 (2)
2008年10月 (2)
2008年9月 (1)
2008年7月 (1)
2008年6月 (3)
博客
本人博客園的博客
搜索
積分與排名
積分 - 36389
排名 - 574
最新評(píng)論
1.?re: 反轉(zhuǎn)字符串
@周翀
剛一看,嚇我一跳,以為一直認(rèn)為的解法有問(wèn)題。細(xì)想一下,值相等也無(wú)妨。當(dāng)毀掉其中一個(gè)值后,再做異或,另一個(gè)值就會(huì)得到保留,做第3次計(jì)算,毀掉的那個(gè)值也被恢復(fù)了,所以沒(méi)有問(wèn)題。
--路緣
2.?re: 反轉(zhuǎn)字符串
三次異或可以互換兩個(gè)值,也可以毀掉兩個(gè)值,當(dāng)它們相等的時(shí)候……
--周翀
3.?re: 深入理解計(jì)算機(jī)系統(tǒng)1_程序是如何運(yùn)行的
抄襲
--圖—圖—
4.?re: 刪除字符串中的子串
ssize_t是什么類型?
--sb
5.?re: 刪除字符串中的子串
看錯(cuò)了~~sorry
--ff
閱讀排行榜
1.?反轉(zhuǎn)字符串(9834)
2.?深入理解計(jì)算機(jī)系統(tǒng)1_程序是如何運(yùn)行的(7978)
3.?刪除字符串中的子串(6664)
4.?分形的樂(lè)趣之_Hilbert曲線(2129)
5.?深入理解計(jì)算機(jī)系統(tǒng)2_信息存儲(chǔ)(2096)
評(píng)論排行榜
1.?刪除字符串中的子串(14)
2.?深入理解計(jì)算機(jī)系統(tǒng)1_程序是如何運(yùn)行的(12)
3.?反轉(zhuǎn)字符串(2)
4.?分形的樂(lè)趣之_Hilbert曲線(2)
5.?symbian應(yīng)用程序開(kāi)發(fā)1(1)
国产精品VIDEOSSEX久久发布
|
久久久久亚洲av无码专区
|
久久久久无码精品国产app
|
午夜精品久久久久9999高清
|
久久精品aⅴ无码中文字字幕不卡 久久精品成人欧美大片
|
久久亚洲高清综合
|
久久久久久精品免费免费自慰
|
久久精品人人做人人妻人人玩
|
国产成人精品久久亚洲
|
亚洲精品乱码久久久久66
|
久久精品免费大片国产大片
|
少妇久久久久久久久久
|
亚洲国产成人乱码精品女人久久久不卡
|
亚洲国产美女精品久久久久∴
|
国产伊人久久
|
免费国产99久久久香蕉
|
色88久久久久高潮综合影院
|
久久人人爽人人精品视频
|
av无码久久久久不卡免费网站
|
国产精品久久免费
|
亚洲日本va中文字幕久久
|
亚洲欧美精品一区久久中文字幕
|
97精品久久天干天天天按摩
|
亚洲色大成网站WWW久久九九
|
国产精品青草久久久久福利99
|
少妇内射兰兰久久
|
老色鬼久久亚洲AV综合
|
一本色道久久99一综合
|
久久受www免费人成_看片中文
|
久久久久久久综合日本
|
久久免费99精品国产自在现线
|
日本加勒比久久精品
|
久久播电影网
|
亚洲精品综合久久
|
久久久久久久精品妇女99
|
国产成人精品久久
|
亚洲精品蜜桃久久久久久
|
久久国产欧美日韩精品
|
国产成年无码久久久久毛片
|
久久91精品久久91综合
|
国产精品内射久久久久欢欢
|