1. 程式人生 > >C語言陣列實現棧操作

C語言陣列實現棧操作

#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(); }