XY
沒有任何借口
posts - 9, comments - 31, trackbacks - 0, articles - 0
C++博客
::
首頁
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
反轉(zhuǎn)字符串
Posted on 2008-06-04 16:22
路緣
閱讀(9822)
評(píng)論(2)
編輯
收藏
引用
所屬分類:
C/C++
題目:
編寫函數(shù)reverse_string,它的原型如下:
void reverse_string(char *str);
函數(shù)把參數(shù)字符串中的字符串反向排列。請(qǐng)使用指針而不是數(shù)組下標(biāo),不要使用任何C函數(shù)庫中用于操縱字符串的函數(shù)。提示:不要聲明一個(gè)局部數(shù)組來臨時(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
++
;
}
}
說明:
算法中運(yùn)用了:
a ^ a = 0 和 a ^ 0 = a
的特性。以此來進(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)為的解法有問題。細(xì)想一下,值相等也無妨。當(dāng)毀掉其中一個(gè)值后,再做異或,另一個(gè)值就會(huì)得到保留,做第3次計(jì)算,毀掉的那個(gè)值也被恢復(fù)了,所以沒有問題。
刷新評(píng)論列表
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開源!大型工業(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
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 路緣
日歷
<
2008年6月
>
日
一
二
三
四
五
六
25
26
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
1
2
3
4
5
常用鏈接
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
(5)
給我留言
查看公開留言
查看私人留言
隨筆分類
(9)
C/C++(5)
計(jì)算機(jī)圖形學(xué)(1)
數(shù)字圖像
網(wǎng)絡(luò)通信
系統(tǒng)體系(2)
移動(dòng)開發(fā)(1)
隨筆檔案
(9)
2017年9月 (2)
2008年10月 (2)
2008年9月 (1)
2008年7月 (1)
2008年6月 (3)
博客
本人博客園的博客
搜索
積分與排名
積分 - 36273
排名 - 573
最新評(píng)論
1.?re: 反轉(zhuǎn)字符串
@周翀
剛一看,嚇我一跳,以為一直認(rèn)為的解法有問題。細(xì)想一下,值相等也無妨。當(dāng)毀掉其中一個(gè)值后,再做異或,另一個(gè)值就會(huì)得到保留,做第3次計(jì)算,毀掉的那個(gè)值也被恢復(fù)了,所以沒有問題。
--路緣
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)字符串(9822)
2.?深入理解計(jì)算機(jī)系統(tǒng)1_程序是如何運(yùn)行的(7966)
3.?刪除字符串中的子串(6653)
4.?分形的樂趣之_Hilbert曲線(2118)
5.?深入理解計(jì)算機(jī)系統(tǒng)2_信息存儲(chǔ)(2086)
評(píng)論排行榜
1.?刪除字符串中的子串(14)
2.?深入理解計(jì)算機(jī)系統(tǒng)1_程序是如何運(yùn)行的(12)
3.?反轉(zhuǎn)字符串(2)
4.?分形的樂趣之_Hilbert曲線(2)
5.?symbian應(yīng)用程序開發(fā)1(1)
99久久做夜夜爱天天做精品
|
国产精久久一区二区三区
|
久久精品国产精品亜洲毛片
|
亚洲人成网站999久久久综合
|
狠狠色婷婷综合天天久久丁香
|
亚洲国产成人乱码精品女人久久久不卡
|
亚洲伊人久久大香线蕉综合图片
|
久久亚洲精品无码观看不卡
|
久久无码国产
|
久久99国产乱子伦精品免费
|
久久久久无码国产精品不卡
|
久久亚洲精品中文字幕
|
欧美日韩精品久久久久
|
漂亮人妻被黑人久久精品
|
狠狠色丁香婷婷综合久久来来去
|
国产精品久久久香蕉
|
久久久久亚洲av无码专区
|
久久人人爽人人爽人人片AV麻豆
|
亚洲精品美女久久久久99
|
日韩精品国产自在久久现线拍
|
亚洲伊人久久综合影院
|
成人久久精品一区二区三区
|
青青草原综合久久
|
久久中文字幕无码专区
|
久久美女人爽女人爽
|
亚洲中文久久精品无码ww16
|
污污内射久久一区二区欧美日韩
|
久久久综合九色合综国产
|
久久夜色精品国产噜噜亚洲AV
|
久久久久久免费视频
|
国产福利电影一区二区三区,免费久久久久久久精
|
亚洲精品NV久久久久久久久久
|
久久亚洲日韩看片无码
|
久久99精品国产麻豆婷婷
|
久久久久久无码Av成人影院
|
国产欧美久久久精品影院
|
久久精品国产亚洲av麻豆图片
|
久久国产精品99精品国产987
|
久久亚洲精品国产精品
|
久久亚洲AV无码精品色午夜麻豆
|
久久99热这里只频精品6
|