#include "stdafx.h"
#include <stdlib.h>
#define Max 50
typedef struct Data{
    int value;
    int min;
}*DataType;
typedef struct Stack
{
    DataType link;
    int top;
}Stack;
void InitStack(Stack *s)
{
    s->top=0;
    s->link=(DataType)malloc(Max*sizeof(struct Data));
}
void Push(Stack *s, int d)
{
    if(s->top==Max)
    {
        printf("棧已滿,無法進棧\n");
        return;
    }
    DataType element=(DataType)malloc(sizeof(struct Data));
    element->value=d;
    if(s->top==0)
        element->min=d;
    else
    {
        element->min=s->link[(s->top)-1].min;
         if(s->link[(s->top)-1].min>d)
                element->min=d;
    }
    s->link[s->top]=*element;
    s->top++;
}
void Pop(Stack *s)
{
    if(s->top==0)
    {
        printf("棧為空\n");
         return;
    }
    s->top--;
}
int MinStack(Stack *s)
{
    return s->link[s->top-1].min;
}

int _tmain(int argc, _TCHAR* argv[])
{
    int i;
    int value;
    Stack s;
    InitStack(&s);
    for(i=0;i<5;i++)
    {
        scanf("%d",&value);
        Push(&s,value);
    }
    Pop(&s);
    printf("min is :%d\n",MinStack(&s));
    system("PAUSE");
    return 0;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容