C++顺取与逆取.

<符 C>串 逆取(&a,整 j){//相当于a[$-i]
    静 串 e;整 i=0,k=a.大小(),s=0;(i;i<j;i++){//s为上个//-1表未找到
        s=k;k=a.逆查(C,k-1);(k==-1)中 e;
    }//---C----C---C--
    k++;串 b=a.子串(k,s-k);中 b;
}//空串代表未找到.<符 C>串 顺取(&a,整 j){//顺取j个,从0开始
    静 串 e;整 i=0,k=0,s=0;(i;i<j;i++){//s为上个//-1表未找到
        s=k;k=a.查找(C,k+1);(k==-1)中 e;
    }//可把a当作向量<串>,要取第j个块串.
    s++;串 b=a.子串(s,k-s);中 b;
}//不分割的取串按符分割的第几个项.
//---C---C---C--C--,取向量并的.

用例:

空 主(){
    串 b{" 45 34  405 566"};
    串 d=顺取<' '>(b,3);//这里3相当于是4.
    打印(d,d.大小());
    串 e{" 45 34 405 566"};
    串 a=逆取<' '>(e,3);//a[$-3]
    打印(a,a.大小());
}//应该算倒数第3个[$-3]

逆取是反向数n-1个空格后,
正向,是顺向数n个空格后.

posted @ 2021-09-27 17:11  zjh6  阅读(50)  评论(0)    收藏  举报  来源