C语言数组实现栈操作
2016-04-02 18:40
225 查看
#include <stdio.h> #include <stdlib.h> int * array=NULL;//存放栈元素的数组 int count=0;//当前栈的元素个数 //初始化栈 void init_stack(int size) { array=(int *)malloc(sizeof(int)*size); if(!array) { printf("创建栈失败"); return ; } } //向栈中压入元素 void push( int val) { array[count++]=val; } //输出栈顶元素 int peek() { if(length_stack()==0) { printf("此栈为空栈\n"); return 0; } return array[count-1]; } //输出栈顶顶顶元素并且删除栈顶元素 int pop() { int length=length_stack(); if(length==0) { printf("已经到栈底啦\n"); return -1; } int val=peek(); count--; return val; } //求栈的长度 int length_stack() { return count; } //打印栈的信息 void print_stack() { int i=length_stack()-1; while(i>=0) { printf("%d ",array[i--]); } } int main() { init_stack(100); push(2); pop(); pop(); int val= peek(); printf("栈顶元素为:%d\n",val); int size=length_stack(); printf("栈的大小为:%d\n",size); print_stack(); }
相关文章推荐
- __restrict,restrict关键字
- 学习C++看到的关于参数以及参数传递方式
- c++中的声明和定义的区别,以及关键字extern的作用
- 八大排序算法(C语言、Java实现)
- 比较C++和Java 一
- C语言,函数指针与指针函数
- 图解VC++ opengl环境配置和几个入门例子
- C++反汇编代码分析
- c语言 冒泡排序 使用数组方式 冒泡函数函数名为void bubble( )
- Problem N: C/C++经典程序训练2---斐波那契(Fibonacci)数列
- 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。
- Somethings About 《c++编程思想》
- C++中placement new操作符
- C 【数据类型 静态&动态】
- C 【printf 和 scanf 函数的使用】
- C语言,数组做形参
- C++结构体占用内存大小浅析
- 【笔试/面试】—— 奇葩 C/C++ 语法题(二)
- Problem D: C语言习题 a!+b!+c!
- 笔记:C语言图形基本函数及实例五子棋游戏