XY
沒(méi)有任何借口
posts - 9, comments - 31, trackbacks - 0, articles - 0
C++博客
::
首頁(yè)
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
反轉(zhuǎn)字符串
Posted on 2008-06-04 16:22
路緣
閱讀(9811)
評(píng)論(2)
編輯
收藏
引用
所屬分類:
C/C++
題目:
編寫(xiě)函數(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 © 路緣
日歷
<
2010年3月
>
日
一
二
三
四
五
六
28
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
7
8
9
10
常用鏈接
我的隨筆
我的評(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)
博客
本人博客園的博客
搜索
積分與排名
積分 - 36146
排名 - 573
最新評(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)字符串(9811)
2.?深入理解計(jì)算機(jī)系統(tǒng)1_程序是如何運(yùn)行的(7956)
3.?刪除字符串中的子串(6642)
4.?分形的樂(lè)趣之_Hilbert曲線(2107)
5.?深入理解計(jì)算機(jī)系統(tǒng)2_信息存儲(chǔ)(2075)
評(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)
一级做a爰片久久毛片免费陪
|
久久精品国产亚洲av高清漫画
|
国产亚洲精品美女久久久
|
精品久久人人爽天天玩人人妻
|
久久亚洲视频
|
欧美亚洲国产精品久久高清
|
香蕉久久夜色精品国产尤物
|
久久综合久久综合亚洲
|
久久亚洲国产精品成人AV秋霞
|
国产精品久久新婚兰兰
|
新狼窝色AV性久久久久久
|
亚洲乱码精品久久久久..
|
日本强好片久久久久久AAA
|
久久免费的精品国产V∧
|
久久精品www
|
久久无码精品一区二区三区
|
久久久黄色大片
|
久久99国内精品自在现线
|
青青草国产精品久久久久
|
久久精品国产精品亜洲毛片
|
要久久爱在线免费观看
|
日产精品99久久久久久
|
亚洲国产二区三区久久
|
久久一本综合
|
久久国产精品无码一区二区三区
|
国产精品激情综合久久
|
国产成人精品久久
|
91久久精品无码一区二区毛片
|
国产精品久久久久久五月尺
|
久久成人国产精品二三区
|
精品久久久久久久中文字幕
|
亚洲精品美女久久久久99
|
国产日韩久久免费影院
|
久久久婷婷五月亚洲97号色
|
久久综合欧美成人
|
香蕉久久夜色精品国产尤物
|
国产精品一区二区久久国产
|
伊人久久国产免费观看视频
|
久久亚洲国产欧洲精品一
|
狼狼综合久久久久综合网
|
久久久久国产精品嫩草影院
|