当前位置:   article > 正文

【顺序栈】33 顺序栈ADT模板简单应用算法设计:回文判断

【顺序栈】33 顺序栈ADT模板简单应用算法设计:回文判断

问题描述 :

目的:使用C++模板设计顺序栈的抽象数据类型(ADT)。并在此基础上,使用顺序栈ADT的基本操作,设计并实现简单应用的算法设计。

内容:

(1)请参照顺序表的ADT模板,设计顺序栈的抽象数据类型。(由于该环境目前仅支持单文件的编译,故将所有内容都集中在一个源文件内。在实际的设计中,推荐将抽象类及对应的派生类分别放在单独的头文件中。参考教材、课件,以及网盘中的顺序表ADT原型文件,自行设计顺序栈的ADT。)

 

(2)ADT的简单应用:使用该ADT设计并实现若干应用顺序栈的算法设计。

 

应用:正读与反读都相同的字符序列称为“回文”序列。请使用顺序栈,设计并实现一个算法,判断依次读入的一个以@为结束符的字符序列是否为形如'序列1&序列2'模式的字符序列。其中序列1和序列2中都不含有字符‘&’,且序列2是序列1的逆序列。例如,‘a+b&b+a’是属于该模式的字符序列,而‘1+3&3-1’则不是。

参考函数原型:

template<class ElemType>

bool parlindrome_judge( SqStack<ElemType> &S );

 

输入说明 :

第一行:以@为结束符的字符序列

输出说明 :

第一行:true(回文)

false(不是回文)

输入范例 :

a+b&b+a@

输出范例 :

true

解题代码:

  1. // 栈.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
  2. //
  3. #include <iostream>
  4. #include <cstdio>
  5. #include <cstdlib>
  6. #include <algorithm>
  7. #include <cmath>
  8. #include <cstring>
  9. #include <string>
  10. #include <vector>
  11. #include <queue>
  12. #include <sstream>
  13. #include <stack>
  14. #include <map>
  15. #include <ctime>
  16. #include <set>
  17. using namespace std;
  18. vector<string> departString_string(string data)
  19. {
  20. vector<int> back_part;//output type
  21. int i, j;
  22. vector<string> part;
  23. string A_part;
  24. stringstream room;
  25. room.str(data);
  26. while (room >> A_part)
  27. part.push_back(A_part);
  28. return part;
  29. }
  30. //————————————————
  31. //版权声明:本文为CSDN博主「systemyff」的原创文章,遵循CC 4.0 BY - SA版权协议,转载请附上原文出处链接及本声明。
  32. //原文链接:https ://blog.csdn.net/u014377763/article/details/113845490
  33. int main()
  34. {
  35. int i, j;
  36. stack<char> sta;
  37. string s;
  38. char c;
  39. while (c = getchar())
  40. {
  41. if (c == '@')
  42. break;
  43. s.push_back(c);
  44. sta.push(c);
  45. }
  46. for (auto i : s)
  47. {
  48. if (i != sta.top())
  49. {
  50. cout << "false" << endl;
  51. return 0;
  52. }
  53. sta.pop();
  54. }
  55. cout << "true" << endl;
  56. return 0;
  57. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/934822
推荐阅读
相关标签
  

闽ICP备14008679号