zoukankan      html  css  js  c++  java
  • 两个字符串 char* a, char* b,输出b在a中的位置次序。

    /**
        题目: 两个字符串 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
    **/
    
    
    #include <iostream>
    #include <list>
    #include <string>
    
    using namespace std;
    
    void abstring(string& a, int ai, string& b, int bi, list<int>& l)
    {
        if( l.size() != b.length() )
        {
            for(int i=ai; i<a.length(); i++)
            {
                if( a[i] == b[bi] )
                {
                    l.push_back(i);
    
                    abstring(a, i + 1, b, bi + 1, l);
                            
                    l.pop_back();
                }
            }
        } 
        else
        {
            for(list<int>::iterator it=l.begin(); it!=l.end(); it++)
            {
                cout<<*it;
            }
                                 
            cout<<endl;
        }
    }
    
    void output_postion(const char* a, const char* b)
    {
        string as = a;
        string bs = b;
        list<int> l;
        
        abstring(as, 0, bs, 0, l);
    }
    
    int main()
    {
        const char* a = "abdbccbc";
        const char* b = "abc";
        
        output_postion(a, b);
        
        return 0;
    }
    
    
  • 相关阅读:
    DRF分页器
    DRF版本控制
    crrm复习
    python面试题网络编程和数据库
    python基础面试题
    前端格式
    数据库基本命令
    数据库管理系统
    线程协程和进程
    IPC通信
  • 原文地址:https://www.cnblogs.com/lvonve/p/8832540.html
Copyright © 2011-2022 走看看