大胖的部落格

Just a note

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  112 随笔 :: 0 文章 :: 3 评论 :: 0 Trackbacks
#include <iostream>

using namespace std;


//逆转字符串,不用额外的数组
//用两个int标志指针位置,分别从首尾向中间移动,依次交换首尾元素
void ReverseStr(char* c)
{
    
char    cTemp;
    
int        i=0,j=0;
    
while(c[i]){
        
++i;
    }

    
--i;
    
while(j<i) {
        cTemp 
= c[j];
        c[j] 
= c[i];
        c[i] 
= cTemp;
        
--i;
        
++j;
    }

}


//利用递归逆向输出字符串
//先递归遍历到字符串结尾,再输出
void Iterate(char* p)
{
    
if(*(++p))
    
{
        Iterate(p);
    }

    
--p;
    cout
<<*p;
}


int main()
{
    
char c[]="hello world";    
    Iterate(c);
    ReverseStr(c);
    cout
<<endl<<c<<endl;
}

posted on 2009-06-29 09:49 大胖 阅读(380) 评论(0)  编辑 收藏 引用 所属分类: Algorithm

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理