网站制作在线版,怎么直播带货卖东西,西安专业的网站开发公司,商务网站开发考题栈的定义 栈 #xff08; stack #xff09;是限定仅在表的一端进行插入和删除操作的线性表#xff0c;允许插入和删除的一端称 为栈顶#xff0c;另一端称为栈底#xff0c;不含任何数据元素的栈称为空栈。 栈的示意图 因为栈只能够在一端进行插入和删除#xff0c;所以…栈的定义 栈 stack 是限定仅在表的一端进行插入和删除操作的线性表允许插入和删除的一端称 为栈顶另一端称为栈底不含任何数据元素的栈称为空栈。 栈的示意图 因为栈只能够在一端进行插入和删除所以栈具有 先进后出的特点类似于碗的摆放拿取。 栈的头文件 #includestack 栈的声明stack数据类型变量名; stackints1 ;//默认的构造函数stackints2(s1);//拷贝构造函数stackints3 s1;//赋值 数据的存取 1.s1.push(element); 向栈顶添加元素 2.s1.pop; 取栈顶元素 3.s1.top(); 返回栈顶元素注意这里只是返回值但并不删除 例子 s1.push(50);//向栈顶添加元素s1.push(5);s1.push(13);//这个时候栈中元素为50 5 13s1.pop();//取栈顶元素13这个时候栈中元素为50 5 cout s1.top() endl;//返回栈顶元素5但不删除大小操作 1.s1.empty(); 如果是空返回1如果不是空返回0 2..s1.size(); 返回栈的大小 例子 //大小操作cout s1.empty() endl;//空返回1不空返回0cout s1.size() endl; 例题十进制变成二进制 #includeiostream
#includestack
using namespace std;
int main() {//例题十进制转化成二进制stackintans;cout 请输入一个十进制整数 endl;int n;cin n ;for (int i n; i 0;ii/2) {ans.push(i %2);}while(ans.size()0) {coutans.top() ;ans.pop();}return 0;
}