C++笔试题深度分析 第二波 下
2014-10-03 22:55
148 查看
11. 两个字符串 char* a, char* b,输出 b 在 a 中的位置次序。
void output_postion(const char* a, const char* b);
如:a = "abdbcc" b = "abc"
b 在 a 中的位置次序为
014
015
034
035
解释:
void output_postion(const char* a, const char* b);
如:a = "abdbcc" b = "abc"
b 在 a 中的位置次序为
014
015
034
035
解释:
#include <iostream> #include <string> #include <list> using namespace std; void abstring(string a, int ai, string b, int bi, list<int>& l) { if(bi == b.length()) { for(list<int>::iterator it = l.begin(); it!= l.end();it++) { cout<<*it; } cout<<endl; } else { for(int i = ai; i < a.length(); i++) { if(a[i] == b[bi]) { l.push_back(i);//如果相等,把序号加入到链表l abstring(a,i+1,b,bi+1,l);//递归 l.pop_back();//回溯 } } } } void output_position(const char* a, const char* b) { string as = a; string bs = b; list<int> l;//用来保存 相等的序号 abstring(a,0,b,0,l); } int main(int argc, char** argv) { char* a = "abdbcc"; char* b = "abc"; output_position(a,b); return 0; }
相关文章推荐
- C++笔试题深度分析 第二波 上
- C++笔试题深度分析 第三波 下
- C++笔试题深度分析 第四波 上
- C++笔试题深度分析 第三波 上
- C++笔试题深度分析 第五波 上
- C++笔试题深度分析第一波 上
- C++笔试题深度分析 第五波 下
- C++笔试题深度分析 第一波 下
- c++笔试题深度分析 第四波 下
- PInvoke调用导致堆栈不对称 c#调用C++win32非托管dll的问题深度分析
- 【C++深度剖析教程13】函数对象的分析
- C/C++深度分析
- C/C++深度分析
- PInvoke调用导致堆栈不对称 c#调用C++win32非托管dll的问题深度分析
- 【C++深度剖析教程16】智能指针的分析
- 反汇编->C++虚函数深度分析
- PInvoke调用导致堆栈不对称 c#调用C++win32非托管dll的问题深度分析
- PInvoke调用导致堆栈不对称 c#调用C++win32非托管dll的问题深度分析
- 深度分析C++默认构造函数、拷贝构造函数
- C++实现图的邻接矩阵存储和广度、深度优先遍历实例分析