面试题(数据结构)
来源:互联网 发布:淘宝3c认证没有怎么弄 编辑:程序博客网 时间:2024/05/01 22:25
题目转载:点击打开链接
题目:用两个栈实现队列
思路:假设两个栈A和B且都为空,可以认为A提供入队列的功能,B提供出队列的功能。入队列:入栈A。出队列:如果B不为空,则直接弹出栈B的数据,如果栈B为空,则依次弹出栈A的数据,放到栈B中,再弹出栈B的数据。
#include<stdafx.h> #include<iostream> #include <stack> using namespace std; template<class T> class Myqueue { public: Myqueue(){} ~Myqueue(){} void pushback(T t); T front(); void popfront(); private: stack<T> A; stack<T> B; }; template<class T> void Myqueue<T>::pushback(T t) { A.push(t); } template<class T> T Myqueue<T>::front() { if(B.empty()) { while(!A.empty()) { B.push(A.top()); A.pop(); } } return B.top(); } template<class T> void Myqueue<T>::popfront() { if(B.empty()) { while(!A.empty()) { B.push(A.top()); A.pop(); } } B.pop(); } void main() { Myqueue<int> q; for(int i=0;i<10;i++) q.pushback(i); for(int j=0;j<10;j++) { cout<<q.front()<<endl; q.popfront(); } }
2.
题目:输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345",则输出整数345。
分析:这道题看起来不难,但考虑全面了也不容易,需要考虑一些特殊情况
1、输入的字符指针为空
2、出现了非数字的字符
3、输入的字符转换为数字后超过int表示的最大数
4、输入的字符中数字前面有正负号
点评:题目简单,但是HR考察的是应聘人员思维角度,还有考虑问题的全面度,得从平时积累!
每天进步一点点
// ab.cpp : 定义控制台应用程序的入口点。 #include<stdafx.h> #include<stdio.h> #include <iostream> #include <limits> using namespace std; #define VALID 1 #define INVALID 0 int state=INVALID; int ChangeStringToNumbers(const char *str) { state=INVALID; if(str==NULL) return 0; else { long long num=0;//VC6.0下long long不可以 int minus=0; if(*str=='+') str++; else if(*str=='-') { minus=1; str++; } while(*str!='\0') { if(*str<='9'&&*str>='0') { num=num*10+(*str-'0'); if(num>numeric_limits<int>::max()) { num=0; return 0; } } else { num=0; return 0; } str++; } if(minus==1) num=0-num; state=VALID; return num; } } int main() { cout<<ChangeStringToNumbers("123")<<endl;//正常输入 cout<<state<<endl; cout<<ChangeStringToNumbers("-123")<<endl;//带负号 cout<<state<<endl; cout<<ChangeStringToNumbers("+123")<<endl;//带正号 cout<<state<<endl; cout<<ChangeStringToNumbers(NULL)<<endl;//空 cout<<state<<endl; cout<<ChangeStringToNumbers("12f3")<<endl;//有其他字符 cout<<state<<endl; cout<<ChangeStringToNumbers("2147483649")<<endl;//越界 cout<<state<<endl; return 0; }
- 面试题(数据结构)
- 数据结构面试题(1)
- 数据结构面试题(含答案)
- 数据结构面试题(含答案)
- 单链表的反转(数据结构 面试题)
- 数据结构面试题(更新中。。。)
- 九个数据结构面试题(附程序)
- 数据结构面试题(含答案)
- 数据结构与算法面试题(待定)
- 数据结构经典面试题(转)
- 数据结构 面试题
- 微软数据结构面试题
- 数据结构面试题:单链表逆置
- java数据结构面试题
- C++数据结构面试题
- 数据结构面试题
- 常见数据结构面试题
- 数据结构笔试面试题
- 深入了解ApusicAS服务器配置系列之——配置Web上下文根
- 生活哲理
- struts2简单入门demo-struts2环境搭建
- 第十二周项目4-1-猜数字游戏
- public,private,protected关键字
- 面试题(数据结构)
- 选择SEO,你可以做什么?
- jquery访问table子元素tr访问不到的问题
- fatal error C1083: Cannot open precompiled header file: 备忘
- VMWare低版本无法打开高版本创建的虚拟机解决方案
- Toyota Case: Single Bit Flip That Killed翻译
- VC++中如何复制对话框资源
- OPENGL|ES第五天 Entering the Third Dimensioin
- ViewPager自动播放或者点击按钮切换setCurrentItem方法动画问题