日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1044: 顺序栈基本操作的实现

發(fā)布時間:2023/12/20 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1044: 顺序栈基本操作的实现 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目描述
編程實現(xiàn)順序棧的初始化、入棧、出棧、取棧頂元素和計算棧中元素個數(shù)等基本操作。

輸入
第一行為入棧元素的個數(shù); 第二行依次為入棧的元素; 出棧操作的次數(shù)n.

輸出
輸出n次出棧后的棧頂元素值。如果是空棧,輸出-1.

樣例輸入
4
1 2 3 4
2

樣例輸出
2

#include<stdio.h> #include<malloc.h> #define MaxSize 1000 struct SqStack {int data[MaxSize];int top; }; void init(SqStack*&s) {s=(SqStack*)malloc(sizeof(SqStack));s->top=-1; } void Destroy(SqStack*&s) {delete(s); } bool Stackempty(SqStack*s) {return (s->top==-1); } void push(SqStack*&s,int e) {if(s->top==MaxSize-1) return ;s->top++;s->data[s->top]=e; } int pop(SqStack*&s) {int e;if(s->top==-1) return -1;e=s->data[s->top];s->top--;return e; } void gettop(SqStack*s,int &e) {if(s->top==-1) return ;e=s->data[s->top]; } int main() {SqStack*st;init(st);int n,num;scanf("%d",&n);while(n--){scanf("%d",&num);push(st,num);}int k;scanf("%d",&k);while(k--){pop(st);}printf("%d",pop(st)); }

總結(jié)

以上是生活随笔為你收集整理的1044: 顺序栈基本操作的实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。