解释C语言中的堆栈概念

数据结构是以结构化方式组织的数据集合。它分为两种类型,即线性数据结构和非线性数据结构。

解释C语言中的堆栈概念

线性数据结构 – 在这里,数据以线性方式组织。

例如 – 数组、结构体、栈、队列、链表。

非线性数据结构 – 在这里,数据以层次结构方式组织。

立即学习“C语言免费学习笔记(深入)”;

例如 – 树、图、集合、表格。

C语言中的栈

它是一种线性数据结构,数据只能在一端插入和删除。

操作

Push – 将元素插入栈中。Pop – 从栈中删除元素。

解释C语言中的堆栈概念

解释C语言中的堆栈概念

解释C语言中的堆栈概念

解释C语言中的堆栈概念

解释C语言中的堆栈概念

解释C语言中的堆栈概念

Deleted element = 50Item = a [top]top --

pop() ,pop(),pop(), pop()

Deleted element = 40Deleted element=30Deleted element=20Deleted element =10

Pop ( )

堆栈溢出

条件

堆栈溢出 – 尝试向满栈插入元素。

堆栈下溢 – 尝试从空栈中删除元素。

Push ( ),Pop ( ),Display ( )的算法

相应的算法如下:

Push ( )

检查堆栈是否溢出。

if (top = = n-1)printf("stack over flow”);

否则,将一个元素插入到堆栈中。

top ++a[top] = item

Pop ( )

检查堆栈下溢。

if ( top = = -1)printf( "stack under flow”);

否则,从堆栈中删除该元素。

item = a[top]top --

Display ( )

检查堆栈流程。

if (top == -1)printf ("stack is empty”);

否则,按照下面提到的算法进行操作 −

for (i=0; i<top; i++)printf ("%d”, a[i]);

示例

以下是使用数组实现堆栈的C程序:

#include#include int top = -1, n,a[100];main ( ){   int ch;   void pop ( );   void display ( );   clrscr ( );   printf ("enter the size of the stack”);   scanf ("%d”, &n);   printf("stack implementation

”); printf ("1. push

”); printf ("2. Pop

”); printf ("3. exit

”); do{ printf ( "enter ur choice”); scanf ("%d”, &ch); switch (ch){ case 1 : push ( ); display ( ); break; case 2 : push ( ); display ( ); break; case 3 : exit } }while (ch>=1 | | ch<= 3); getch ( );}void push ( ){ int item; if (top = = n-1) printf ( "stack over flow”) else{ printf("enter an element for insertion”) scanf ("%d”, &item); top ++; a[top] = item; }}void pop ( ){ int item; if (top = = -1); printf ( "stack under flow”); else{ item = a[top]; top --; printf("deleted element = %d”, item); }}void display ( ){ int i; if (top = = -1) printf ( "stack is empty”); else{ printf("contents of the stack are”); for (i=0; i<top; i++) printf ("%d t”, a[i]); }}

输出

当执行上述程序时,它会产生以下结果 −

enter the size of the stack = 5 [given by user]Stack implementation1. Push 2. Pop 3. exitEnter ur choice : 1 [given by user]Enter an element for insertion : 10Contents of the stack : 10Enter ur choice : 1Enter an element for insertion : 2Contents of the stack : 10 20Enter ur choice : 2Deleted element = 20Contents of the stack are : 10Enter ur choice : 2Deleted element : 10Contents of the stack are : stack is emptyEnter ur choice : 2Stack underflow.Enter ur choice : 1Enter an element for insertion : 30Contents of the stack are : 30

以上就是解释C语言中的堆栈概念的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1445268.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 22:21:51
下一篇 2025年12月11日 13:35:00

发表回复

登录后才能评论
关注微信