C++实现判断字符串是否回文实例解析
本文实例解析了C++判断字符串是否回文的实现过程,通过数据结构中的相关例子,回文判断中采用过滤空格字符、有效字符依次入栈等方法实现该功能。
具体实例代码如下:
#include
using namespace std;
#define Max_String_Len 100
#include "SqStack.h"
//判断字符串是否回文
bool ispalindrome(char *in_string)
{
SqStack s(Max_String_Len);
char deblankstring[Max_String_Len], c;
int i = 0;
//过滤空格字符
while(*in_string != '\0'){
if(*in_string != ' ')
deblankstring[i++] = *in_string;
in_string++;
}
deblankstring[i] = '\0';
//有效字符依次入栈
i = 0;
while(deblankstring[i] != '\0')
s.Push(deblankstring[i++]);
//从栈中弹出字符依次比较
i = 0;
while(!s.Empty()){
c = s.Top();
s.Pop();
if(c != deblankstring[i])
return false;
i++;
}
return true;
}
int main()
{
char instring[Max_String_Len];
cout << "input a string:" << endl;
cin.get(instring, Max_String_Len);
//cout<
if(ispalindrome(instring))
cout << "\"" << instring << "\"" << " is a palindrome." << endl;
else
cout << "\"" << instring << "\"" << " is not a palindrome." << endl;
system("pause");
return 0;
}相关阅读:
判断数组是否包含某个元素的js函数实现方法
详细解读C++编程中的匿名类类型和位域
Java实现Linux下双守护进程
linux怎么用at命令编写简单的计划任务?
C#实现只运行单个实例应用程序的方法(使用VB.Net的IsSingleInstance)
微软入股CM Win10手机系统会开源吗?
Firefox中通过JavaScript复制数据到剪贴板(Copy to Clipboard 跨浏览器版)
关于多行文字水平垂直居中的一点心得分享
win10怎么更改盘符?更改分区名称方法介绍
素数判定算法的实现
PHP+MySQL插入操作实例
讲解Oracle数据库中的数据字典及相关SQL查询用法
使用ImageMagick进行图片缩放、合成与裁剪(js+python)
使用iframe window的scroll方法控制iframe页面滚动