스 택 - 체인 스 택 (앞장 서지 않 음) 의 정의 와 기본 작업 이 매우 상세 합 니 다!

#include
#include
#include

//     
typedef struct linknode
{
    int data;
    struct linknode* next;
}linknode, *linkstack;

//     
void initialize_stack(linkstack* s)
{
    (*s) = NULL;
}

//  ( )
void push(linkstack* s, int x)
{
    linknode* p = (linknode*)malloc(sizeof(linknode));
    p->next = NULL;

    p->data = x;
    p->next = (*s);
    (*s) = p;

    return;
}

//  ( )
void pop(linkstack* s)
{
    printf("the element deleted is: %d 
"
, (*s)->data); linknode* p; p = (*s); (*s) = (*s)->next; free(p); return; } // ( ) void top_stack(linkstack s) { if(s == NULL) { printf("the top:there is not element in it.
"
); return; } else { printf("the top of the stack is:%d
"
, s->data); return; } } // void empty_stack(linkstack s) { if(s == NULL) { printf("the stack is empty.
"
); return; } else { printf("the stack is not empty.
"
); return; } } // void print_stack(linkstack s) { if(s == NULL) { printf("print stack:there is not element in it.
"
); return; } else { printf("the elements of this stack:"); while(s != NULL) { printf("%d ", s->data); s = s->next; } printf("
"
); return; } } int main() { linkstack s; initialize_stack(&s); push(&s, 1); push(&s, 2); push(&s, 5); print_stack(s); pop(&s); pop(&s); pop(&s); print_stack(s); top_stack(s); empty_stack(s); return 0; }

잘못 이 있 으 면 지적 해 주세요 ~

좋은 웹페이지 즐겨찾기