Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma once
- #ifndef LIST_H
- #define LIST_H
- #include <stdio.h>
- #include <stdlib.h>
- typedef int element;
- typedef struct StackNode {
- element data;
- struct StackNode* link;
- }StackNode;
- typedef struct {
- StackNode* top;
- }LinkedStack;
- void init(LinkedStack* s) {
- s->top = NULL;
- }
- int is_empty(LinkedStack* s) {
- return (s->top == NULL);
- }
- void push(LinkedStack* s, element item) {
- StackNode* temp = (StackNode*)malloc(sizeof(StackNode));
- temp->data = item;
- temp->link = s->top;
- s->top = temp;
- }
- element pop(LinkedStack* s) {
- int data;
- if (is_empty(s)) {
- fprintf(stderr, "파일이 비어있음\n");
- exit(1);
- }
- else {
- StackNode* temp = s->top;
- data = temp->data;
- s->top = s->top -> link;
- free(temp);
- return data;
- }
- }
- void print_stack(LinkedStack* s) {
- for (StackNode* p = s->top; p != NULL; p = p->link)
- {
- printf("%d->", p->data);
- }
- printf("NULL\n");
- }
- #endif // !LIST_H
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement