数据结构-堆和栈-创新互联

什么是堆-先进先出

堆 heap :由new分配的内存块,其释放由程序员控制

公司主营业务:成都做网站、成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出衡阳免费做网站回馈大家。

类似于排队

什么是栈-先进后出

栈 stack :是那些编译器在需要时分配,在不需要时自动清除的存储区。

栈仅在表尾进行插入和删除,进行删除和插入的一端被称为栈顶,相对地,把另一端称为栈底。

向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;

从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。

类似于一个封闭的胡同依次进入很多车子,先进去的车子,到最后面才能出胡同,最后进去的车子,先出胡同

栈的基本操作

新建一个栈stackp

p.empty()             栈是否为空,栈空,就返回TRUE,不为空,返回FALSE

p.size()                返回栈的长度

p.push()               将元素插进栈顶

p.pop()                将栈顶元素输出

p.top()                 查看栈顶元素

牛客AB1 【模板】栈
#include#includeusing namespace std;

int main() {
    int n;
    cin >>n;
    int num[n];
    int nn=0;
    for (int i = 0; i< n; i++) {
        string str;
        cin >>str;
        if(str=="push"){
            int t;
            cin>>t;
            nn=nn+1;
            num[nn]=t;
        }
        if(str=="pop"){
            if(nn<=0)
            cout<<"error"<
堆和栈的区别
  1. 堆栈空间分配不同。栈由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等;堆一般由程序员分配释放。
  2. 堆栈缓存方式不同。栈使用的是一级缓存, 它们通常都是被调用时处于存储空间中,调用完毕立即释放;堆则是存放在二级缓存中,速度要慢些。
  3. 堆栈数据结构不同。堆类似数组结构;栈类似栈结构,先进后出。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

分享标题:数据结构-堆和栈-创新互联
网页链接:https://www.cdcxhl.com/article16/dijcgg.html

成都网站建设公司_创新互联,为您提供网站内链网站收录网站维护网站设计公司网站排名品牌网站设计

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联