자료구조 구현 예

(2022-03-11)

스택 구현 예


1. 스택의 구현 例)  (C 언어배열,구조체을 사용하는 경우)스택을 표현하는 배열과 이 배열정보를 담은 구조체로써 표현

     - (스택 표현 구조체 선언 例) typedef struct {int max; int top; int *stk; } Stack;
        . (max : 용량/최대크기, top : 스택 인덱스, *skt : 스택의 첫 요소에 대한 포인터)

     - (스택 필요 동작/연산 例)
        . (스택 초기화) int initialize(Stack *s, int max);
        . (집어넣기) int push(Stack *s, int x);
        . (빼냄) int pop(Stack *s, int *x);
        . (크기) int size(const Stack *s);

  ㅇ 구현 例)
     
// 스택 생성
#define MAX 100;    // 스택 배열의 최대 크기
int stack[MAX];     // 스택을 배열로 선언
int top = 0;        // 스택 인덱스를 선언과 동시에 0으로 초기화

// 스택 초기화
void init() {
    int top = 0;    // 스택 인덱스를 처음 위치로
}

// 스택 추가(입력)
void push(int *stack, int *top, int x) {
    if(top >= MAX-1) {    // 스택이 이미 차있는 경우
        printf("Stack is full\n"););
        return;
    }
    top = top + 1;    // top 인덱스 증가
    stack[top] = x;
}

// 스택 삭제(출력)
void push(int *stack, int *top) {
    if(top == -1) {    // 스택이 비어있는 경우
        printf("Stack is empty\n");
        return;
    }
    --top;    // top 인덱스 감소
    return stack[top];
}

// 스택이 비어있는지 여부
void isEmpty() {

}

// 스택이 가득찼는지 여부
void isFull() {

}
2. 리스트의 구현 例) (C 언어) ㅇ (고정 크기) => 배열에 의해 선형 리스트로써 구현 ㅇ (가변 크기) => 포인터를 이용한 연결 리스트로써 구현 ㅇ ... (작성중) ...

자료구조 기타일반
   1. 순차 접근, 직접 접근   2. 인덱스   3. 자료구조 구현 예  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"