成都网站建设设计

将想法与焦点和您一起共享

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

什么是堆-先进先出

堆 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元起,快前往官网查看详情吧


文章标题:数据结构-堆和栈-创新互联
文章分享:http://chengdu.cdxwcx.cn/article/dijcgg.html