日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STL sector 应用

發布時間:2023/12/1 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STL sector 应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 #include <iostream> 2 #include <string> 3 #include <vector> 4 #include <cstdio> 5 using namespace std; 6 int n; 7 vector<int> pile[30]; 8 9 //找到a所在pile和height,以應用的形式返回調用者, 10 void find_block(int a,int &p,int &h) 11 { 12 for(p=0;p<n;p++) 13 for(h=0;h<pile[p].size();h++) 14 if(pile[p][h]==a) 15 return ; 16 } 17 18 void clear_above(int p,int h) 19 { 20 for(int i=h+1;i<pile[p].size();i++) 21 { 22 int b=pile[p][i]; 23 pile[b].push_back(b); 24 } 25 pile[p].resize(h+1); 26 } 27 void pile_onto(int p,int h,int p2) 28 { 29 for(int i=h;i<pile[p].size();i++) //pile[p].size()的容量大小 30 pile[p2].push_back(pile[p][i]); 31 pile[p].resize(h);//pile[p]的容量改成h大小 32 } 33 void print() 34 { 35 for(int i=0;i<n;i++) 36 { 37 printf("%d:",i); 38 for(int j=0;j<pile[i].size();j++) 39 printf(" %d",pile[i][j]); 40 printf("\n"); 41 } 42 } 43 44 45 int main() 46 { 47 int a,b; 48 scanf("%d",&n); 49 string s1,s2; 50 for(int i=0;i<n;i++) 51 pile[i].push_back(i); 52 while(cin>>s1>>a>>s2>>b) 53 { 54 int pa,pb,ha,hb; 55 find_block(a,pa,ha); 56 find_block(b,pb,hb); 57 if(pa==pb) 58 continue; 59 if(s2=="onto") clear_above(pb,hb); 60 if(s1=="move") clear_above(pa,ha); 61 pile_onto(pa,ha,pb); 62 print(); 63 } 64 65 return 0; 66 }
vector類:

pile[p].size()看容量大小

pile[p].resize(n)調整vector容器的大小

pile[p].empty() 判斷是否為空 begin()和end()函數--返回第一個元素和最后一個元素位置

front()和back()函數返回vector 中第一個元素和最后一個元素

push_back(x)和pop_back()在vector中最后插入一個元素和刪除一個元素

vector 可以和數組一樣,用下表表示 ?

轉載于:https://www.cnblogs.com/WDKER/p/5471091.html

總結

以上是生活随笔為你收集整理的STL sector 应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。