Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- struct stack{
- int data;
- stack* prev;
- stack* top;
- };
- stack *top = NULL;
- void push(int a){
- stack *p = new stack();
- p -> data = a;
- p -> prev = top;
- top = p;
- printf("ok\n");
- }
- int pop(){
- if(top == NULL){
- printf("error");
- }
- int ans = top -> data;
- top = top -> prev;
- return ans;
- }
- int size(){
- int count = 0;
- while(top != NULL){
- count++;
- top = top -> prev;
- }
- return count;
- }
- int back (){
- if(top == NULL){
- printf("error");
- }
- return top -> data;
- }
- void exit(){
- printf("bye");
- }
- void clear(){
- stack *top = NULL;
- printf("ok\n");
- }
- int main(){
- int num;
- char str[6];
- while(str[1] != 120){
- scanf("%s", str);
- if(str[1] == 'u'){
- scanf("%d", &num);
- push(num);
- }
- if(str[1] == 'o'){
- printf("%d\n", pop());
- }
- if(str[1] == 'i'){
- printf("%d\n", size());
- }
- if(str[1] == 'a'){
- printf("%d\n", back());
- }
- if(str[1] == 'l'){
- clear();
- }
- if(str[1] == 'x'){
- exit();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement