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个空格后.
浙公网安备 33010602011771号