博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oral_quiz->#IsPopOrder#
阅读量:6948 次
发布时间:2019-06-27

本文共 2080 字,大约阅读时间需要 6 分钟。

hot3.png

#include 
#include
#include
bool MyIsPopOrder(int* InSeq, int* OutSeq, int length) { if(InSeq == NULL || OutSeq == NULL || length <= 0) return false; std::stack
stackAid; int index = 0; for(int i=0; i
= length) return false; //pop if(index < length && InSeq[index] == OutSeq[i]) { stackAid.pop(); ++index; } } return true;}//============================hht's=========================bool IsPopOrder(const int* pPush, const int* pPop, int nLength) { bool bPossible = false; if(pPush != NULL && pPop != NULL && nLength > 0) { const int* pNextPush = pPush; const int* pNextPop = pPop; std::stack
stackData; while(pNextPop - pPop < nLength) { while(stackData.empty() || stackData.top() != *pNextPop) { if(pNextPush - pPush == nLength) break; stackData.push(*pNextPush); ++pNextPush; } if(stackData.top() != *pNextPop) break; stackData.pop(); ++pNextPop; } if(stackData.empty() && pNextPop - pPop == nLength) bPossible = true; } return bPossible;}void Test(const char* testName, int* InSeq, int* OutSeq, int length, bool expected) { if(testName != NULL) printf("%s begins: \n", testName);// if(expected == MyIsPopOrder(InSeq, OutSeq, length)) if(expected == IsPopOrder(InSeq, OutSeq, length)) printf("passed.\n"); else printf("failed.\n");}//***********multi number***************//1.yesvoid Test1() { int InSeq[] = {1,2,3,4,5}; int OutSeq[] = {3,5,4,2,1}; Test("Test1", InSeq, OutSeq, 5, true);}//2.novoid Test2() { int InSeq[] = {1,2,3,4,5}; int OutSeq[] = {4,3,5,1,2}; Test("Test2", InSeq, OutSeq, 5, false);}//***********single number***************//1.yesvoid Test3() { int InSeq[] = {2}; int OutSeq[] = {2}; Test("Test3", InSeq, OutSeq, 1, true);}//2.novoid Test4() { int InSeq[] = {5}; int OutSeq[] = {4}; Test("Test4", InSeq, OutSeq, 1, false);}//NULLvoid Test5() { Test("Test5", NULL, NULL, 0, false);}int main(int argc, char* argv[]) { Test1(); Test2(); Test3(); Test4(); Test5(); return 0;}

转载于:https://my.oschina.net/ITHaozi/blog/279906

你可能感兴趣的文章
实战Kafka ACL机制
查看>>
云监控服务使用教程
查看>>
“旧城改造”的背后——银泰新零售阿里云解决方案(上)
查看>>
java B2B2C源码电子商务平台 -SpringCloud服务相互调用RestTemplate
查看>>
java B2B2C Springcloud电子商务平台源码-zuul 过滤器机制
查看>>
分布式消息系统:Kafka
查看>>
让phpmailer支持中文名称的附件和邮件标题中文乱码(转)
查看>>
JavaScript强化教程——JavaScript Math(算数) 对象
查看>>
CentOS7部署Kubernetes集群
查看>>
struts2中使用DMI(动态调用方法)方式配置action
查看>>
使用hyperpacer实现AWR报告的同步收集
查看>>
关于os.popen你可能不知道的
查看>>
redhat5.3恢复***
查看>>
linux 下mysql的乱码问题
查看>>
mongodb删除重复数据
查看>>
项目中常用的第三方框架总结
查看>>
希尔排序
查看>>
nginx 配置支持think php url模式
查看>>
我的友情链接
查看>>
centos7.2下搭建CDH5.8.3
查看>>