vector就是一個(gè)不定長(zhǎng)數(shù)組。不僅如此,它把一些常用的操作“封裝”在了vectir類型內(nèi)部。
如a是一個(gè)vector,可以用如下操作
a.size()
a.push_back()
a.pop_back()
等等
下面通過(guò)一個(gè)題目來(lái)簡(jiǎn)單看一下vector的相關(guān)操作
木塊問(wèn)題:從做到右有n個(gè)木塊,編號(hào)為0到n-1,要求模擬以下四種操作
move a onto b 把a(bǔ)和b上方的木塊全部歸位,然后把a(bǔ)摞在b上面
move a over b把a(bǔ)上方的木塊全部歸位,然后把a(bǔ)放在b所在木塊的堆的頂部
pile a onto b把b上方的木塊全部歸位,然后把a(bǔ)及上面的木塊整體摞在b上面
pile a over b把a(bǔ)及上面的木塊整體摞在b所在木塊堆的上面
在廣安等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作定制制作,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),成都全網(wǎng)營(yíng)銷推廣,外貿(mào)網(wǎng)站制作,廣安網(wǎng)站建設(shè)費(fèi)用合理。
代碼如下
#include
#include
#include
#include
using namespace std;
const int maxn=30;
int n;
vector pile[maxn];
void find_block(int a,int& p,int& h){
for(p=0;p>n;
string s1,s2;
for(int i=0;i>s1>>a>>s2>>b){
int pa,pb,ha,hb;
find_block(a,pa,ha);
find_block(b,pb,hb);
if(pa==pb) continue;
if(s2=="onto") clear_above(pb,hb);
if(s1=="move") clear_above(pa,ha);
pile_onto(pa,ha,pb);
}
print();
return 0;
}