栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言之栈与队列的简单实现

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言之栈与队列的简单实现

先简单的讲一下我学到的概念;

【1】含义:可以说像一个桶,入栈,就像把东西放进那个桶里面,先放进去的肯定是最底层,后放进的肯定在上层;出栈,因为只有一个门所以上面的东西就可以先拿出来。

【2】特点:先进后出

代码:

#include

//给定数组的最大长度
int Q[10000];
//只需要栈顶
int top;

//栈,要从栈顶进入
void push(int x)
{
    Q[top++]= x;
    //每入栈一个数字,就让top++;
}

//出栈操作,也是从栈顶出去
int pop()
{
    //一定要先top自减
    top--;
    return Q[top];
}

int main()
{
    int x;
    scanf("%d",&x);
    push(x);
    printf("%dn",pop());
    return 0;
}

队列

【1】含义:顾名思义,就是一条队伍,而对于一条队伍,我们能对它做什么?自然是,进入队伍,离开队伍。(举例:上选修课,老师突然兴起要点名,点一个来一个排好队,这叫入队;等人排好以后就一个个出去,这个操作叫出队)

【2】特点:先进先出,后进后出

代码:

#include

int Q[100000];
//排头和排尾
int first,last;

//入队操作
void push(int x)
{
    Q[last++]=x;
}

//出队操作
int pop()
{
    return Q[first++];
}

//这里只放一个元素,放多个可以依照原理
int main()
{
    int x;
    //将x放入队列中,并让它出队
    scanf("%d",&x);
    push(x);
    printf("%d ",pop());
    return 0;
}

PS:删除队列中的元素就是出队操作,插入一个元素就是入队操作;栈的删除和插入也是同样的道理;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/664763.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号