stack.c

来自「从各种VC源码中精选出来」· C语言 代码 · 共 47 行

C
47
字号
//堆栈的有关算法#define MAX  30	// 最多30个元素 #define NULL -1 //失败标志typedef struct{	int   d[MAX] ; 	//用数组作为堆栈的储存空间	int   top ;	//指示栈顶位置的变量}STACK ; 		//堆栈类型定义STACK  sq ; 		//定义堆栈int PUSH (int x) //堆栈的入栈算法{	if ( sq.top == MAX-1 )	//满栈,入栈失败		return NULL;	else {	sq.top++;	//调整栈顶变量		sq.d[sq.top] = x ; 	//数据入栈		 return 1 ; }	//入栈成功}int POP ( )//堆栈的出栈算法{	if (sq.top == NULL ) return NULL; //空栈,出栈失败	else	return sq.d[sq.top--]  ;//返回栈首元素,调整栈首变量}void main ( ){	int x;	sq.top = NULL ;//初始化空栈	PUSH (45); 	//调用入栈算法,45入栈	PUSH (67); 	//调用入栈算法,67入栈	PUSH (29); 	//调用入栈算法,29入栈	x = POP ();	//调用出栈算法,x=29	PUSH (44); 	//调用入栈算法,44入栈	x = POP ();	//调用出栈算法,x=44	PUSH (37); 	//调用入栈算法,37入栈	PUSH (89); 	//调用入栈算法,89入栈	x = POP ();	//调用出栈算法,x=89	x = POP ();	//调用出栈算法,x=37	x = POP ();	//调用出栈算法,x=67	x = POP ();	//调用出栈算法,x=45	while (1) ; //在这一行设置断点,中止程序运行,以便观察程序运行的结果 }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?