C++完成斷定字符串能否回文實例解析。本站提示廣大學習愛好者:(C++完成斷定字符串能否回文實例解析)文章只能為提供參考,不一定能成為您想要的結果。以下是C++完成斷定字符串能否回文實例解析正文
本文實例解析了C++斷定字符串能否回文的完成進程,經由過程數據構造中的相干例子,回文斷定中采取過濾空格字符、有用字符順次入棧等辦法完成該功效。
詳細實例代碼以下:
#include <iostream>
using namespace std;
#define Max_String_Len 100
#include "SqStack.h"
//斷定字符串能否回文
bool ispalindrome(char *in_string)
{
SqStack <char> 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<<instring;
if(ispalindrome(instring))
cout << "\"" << instring << "\"" << " is a palindrome." << endl;
else
cout << "\"" << instring << "\"" << " is not a palindrome." << endl;
system("pause");
return 0;
}