您的位置:首页 > 博客中心 > 数据库 >

mysql数据类型和用法

时间:2022-03-10 17:04

#include<iostream> #include<cstdio> #include<string> #include<vector> #include<stack> using namespace std; struct node { char x,y; }; bool cmp(node a,node b) { if(a.x==b.x) return true; if(a.y==b.y) return true; return false; } int main(){ while(1) { vector<stack<node > >card;//定义vector(容器),包含的元素类型为stack<node>; char temp[3]; scanf("%c",&temp[0]); if(temp[0]==‘#‘) break; scanf("%c",&temp[1]); stack<node > p; node c; c.x=temp[0];c.y=temp[1]; p.push(c); card.push_back(p);//把栈存入card容器。 for(int i=1;i<52;i++) { getchar(); scanf("%c%c",&temp[0],&temp[1]); node c; c.x=temp[0];c.y=temp[1]; stack<node > t; t.push(c); card.push_back(t); } /* int len=card.size(); for(int i=0;i<len;i++) { cout<<card[i].top()<<endl; } getchar();*/ int len=card.size();//求容器的大小 for(int i=0;i<len;i++) { int j=i; if(j-3>=0){ if(cmp(card[j-3].top(),card[j].top())){ //容器也可像数组一样通过下标来使用。 card[j-3].push(card[j].top()); card[j].pop(); if(card[j].empty()) { card.erase(card.begin()+j);//删除某个位置的栈,参数必须为指向该位置的指针 len=card.size(); } i=-1; continue; } } if(j-1>=0){ if(cmp(card[j-1].top(),card[j].top())){ card[j-1].push(card[j].top()); card[j].pop(); if(card[j].empty()) { card.erase(card.begin()+j); len=card.size(); } i=-1; continue; } } } int l=card.size(); if(l>1) { printf("%d piles remaining:",l); for(int i=0;i<l;i++) printf(" %d",card[i].size()); } else { printf("%d pile remaining:",l); printf(" %d",card[0].size()); } printf("\n"); getchar(); } return 0; }

mysql数据类型和用法,布布扣,bubuko.com

热门排行

今日推荐

热门手游