现在的位置: 首页 > 综合 > 正文

字符串翻转

2017年03月08日 ⁄ 综合 ⁄ 共 658字 ⁄ 字号 评论关闭

原文地址:http://blog.csdn.net/wangyuling1234567890/article/details/39610373

将字符串翻转,如下:

输入:Hi Welcome to cricode

输出:cricode to Welcome Hi

#include <iostream>

#include <string>
#include <stack>

using std::cout;
using std::endl;
using std::string;
using std::stack;


void main()
{
        string str("Hi Welcome to cricode");
	stack<char> cstack;
	stack<char> tmp;
	int index = 0;

	for (index = 0; index < str.size(); index++)
	{
		cstack.push(str[index]);
	}

	index = 0;
	while(!cstack.empty())
	{
		if (' ' == cstack.top())   // 事例代码,未对标点符号做判断
		{
			while(!tmp.empty())
			{
				str[index++] = tmp.top();
				tmp.pop();
			}
			str[index++] = ' ';
			cstack.pop();
		}
		else
		{
			tmp.push(cstack.top());
			cstack.pop();
		}
	}

	while(!tmp.empty())
	{
		str[index++] = tmp.top();
		tmp.pop();
	}

	cout<<str<<endl;

	return ;
}

抱歉!评论已关闭.