post list

2013년 12월 19일

[Data Structure] #2-1 스택 기초(2) .. 구조체 추가

스택 기초(2) + 구조체


 다음의 코드는 바로 이전의 포스트에서 다뤘던 기초적인 스택과 아주 유사하다. 다른 점이라면 element가 단순 int형이 아니라 구조체가 되었다는 것 뿐이다. 아주 단순하며 설명할 것도 없다....

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX_STACK_SIZE 100
#define MAX_STRING 100
typedef struct {
    int student_no;
    char name[MAX_STRING];
    char address[MAX_STRING];
} element;

element stack[MAX_STACK_SIZE];
int top = -1;

int is_empty(){
    return top == -1;
}

int is_full(){
    return top == MAX_STACK_SIZE -1;
}

void push(element item){
    if (is_full())
        exit(1);
    stack[++top] = item;
}

element pop(){
    if (is_empty()) exit(1);
    return stack[top--];
}

element peek(){
    if (is_empty()) exit(1);
    return stack[top];
}

int main()
{
    element ie, oe;
    strcpy(ie.name, "HongGilDong");
    strcpy(ie.address, "Seoul");
    ie.student_no = 20053001;
    push(ie);
    oe = pop();
    printf("name : %s\n",oe.name);
    printf("address : %s\n", oe.address);
    printf("student number : %d\n", oe.student_no);
}

정말 설명할 것도 없네.. 오늘꺼 개쉬움..

댓글 없음:

댓글 쓰기