网站建设 添加本地视频教程,房产网站系统哪个好,品牌建设存在的问题,东城网站制作公司CSTL之stack栈容器 - 数据结构教程 - C语言网CSTL之stack栈容器1.再谈栈回顾一下之前所学的栈#xff0c;栈是一种先进后出的数据结构#xff0c;而实现方式需要创建多个结构体#xff0c;通过链式的方式进行实现#xff0c;这是标准的栈的思路#xff0c;而在STL中栈可以…CSTL之stack栈容器 - 数据结构教程 - C语言网CSTL之stack栈容器1.再谈栈回顾一下之前所学的栈栈是一种先进后出的数据结构而实现方式需要创建多个结构体通过链式的方式进行实现这是标准的栈的思路而在STL中栈可以以更为简单的方式实现。2.头文件头文件#incl……https://www.dotcpp.com/course/113
输入一个10进制正整数输出它所对应的八进制数。 //十进制转八进制
//可以用栈来存储取模结果(先入后出)#includeiostream
#includestack
using namespace std;void DEC2OCT(const int DEC, stackint OCT){int dec DEC;while(dec){OCT.push(dec%8);dec dec / 8;}
}// stack属于特殊的数据结构没有迭代器
// 只能通过不断pop-访问top实现数据读取
void show_stack(stackint mystack){stackint tmp(mystack);//拷贝构造 深拷贝while(!tmp.empty()){couttmp.top();tmp.pop();}coutendl;
}int main()
{int dec;stackint res;while(cin){cindec;}DEC2OCT(dec, res);show_stack(res);return 0;
}
将十进制整数转换成二进制数 //十进制转二进制
//可以用栈来存储取模结果(先入后出)#includeiostream
#includestack
#includevector
using namespace std;void DEC2BIN(const int DEC, stackint BIN){int dec DEC;//判断dec是否为负数bool flag0;if(dec0){flag 1;dec -dec;}//判断dec是否为0if(!dec){BIN.push(dec);}while(dec){BIN.push(dec%2);dec dec / 2;}//加负号if(flag){int val BIN.top();BIN.pop();BIN.push(-val);}
}void show_stack(stackint mystack){while(!mystack.empty()){coutmystack.top();mystack.pop();}coutendl;
}int main()
{int dec;vectorint input;stackint res;while(cindec){input.push_back(dec);}for(auto itinput.begin(); it!input.end(); it){dec *it;DEC2BIN(dec, res);coutdec--;show_stack(res);}return 0;
}