연결리스트 스택

2022. 11. 4. 18:36·이전 게시글/공부 관련
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
typedef int Element;
typedef struct {
    Element data;
    Node* link;
}Node;

Node* top = NULL;

void error(const char str[]) {
    printf("%s\n", str);
    exit(1);
}

void init_stak() { top = NULL; }
int is_empty() { return top == NULL; }
int size() { 
    Node* p;
    int count = 0;
    for (p = top; p != NULL; p = p->link) {
        count++;
    }
    return count;
}

void push(Element e) {
    Node* p = (Node*)malloc(sizeof(Node));
    p->data = e;
    p->link = top;
    top = p;
}

Element pop() {
    Node* p;
    Element e;
    if (is_empty() == 1) error("스택 공백 에러");
    p = top;
    e = p->data;
    top = p->link;
    free(p);
    return e;
}

Element peek() {
    if (is_empty() == 1) error("스택 공백 에러");
    return top->data;;
}

void destroy_stack() {
    while (is_empty() == 0) pop();
}

int main()
{
    init_stak();
    return 0;
}
저작자표시 (새창열림)

'이전 게시글 > 공부 관련' 카테고리의 다른 글

연결된큐  (0) 2022.11.28
이것이 자바다 11장 확인 문제 답 - 신용권의 Java 프로그래밍 정복  (0) 2022.11.16
두근두근 자료구조 3장 (스택) 연습문제  (1) 2022.11.04
배열 스택  (0) 2022.11.04
두근두근 자료구조 2장 (배열과 구조체) 연습문제  (0) 2022.11.04
'이전 게시글/공부 관련' 카테고리의 다른 글
  • 연결된큐
  • 이것이 자바다 11장 확인 문제 답 - 신용권의 Java 프로그래밍 정복
  • 두근두근 자료구조 3장 (스택) 연습문제
  • 배열 스택
aptenia
aptenia
공부하면서 배운 것들
  • aptenia
    새벽의 아이디어
    aptenia
  • 전체
    오늘
    어제
    • 분류 전체보기 (276)
      • f1tenth (2)
      • 이전 게시글 (268)
        • 개발 관련 (25)
        • 정보 관련 (19)
        • 공부 관련 (224)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 네이버 블로그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    c언어초보
    스크롤바CSS
    백준
    자바
    이것이자바다연습문제
    컨텍스트스위칭
    공개SW개발자대회
    프로그래머스
    마크
    C언어
    안드로이드
    이것이자바다확인문제
    프로그래머스PCCE
    마인크래프트스크립트
    티스토리HTML
    반복하지않는수
    빅데이터공모전
    파이썬
    마인크래프트강화스크립트
    캡스톤디자인
    티스토리스킨편집
    C++강좌
    C언어강좌
    티스토리반응형2스킨편집
    이것이자바다
    마인크래프트
    콜라츠추측
    파이어베이스
    일본규슈공업대학교
    마크스크립트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
aptenia
연결리스트 스택
상단으로

티스토리툴바