프로젝트 명 : Stack_Linked List


< 프로젝트 설명 >


이 프로젝트는 스택과 Linked List를 같이 써서 구현한 프로젝트입니다.

이 프로젝트를 통해 스택과 Linked List가 어떻게 돌아가는 지 볼 수 있습니다.


< 소스코드 >


#include <stdio.h>


#include <stdlib.h>




typedef struct NODE


{

    

    int data;

    

}NODE;




NODE* node;


int length=0;


int range=0;




void RANGE(void);


void push(int n);


void pop(void);


void PRINT(void);




int main(void)


{

    

    int i;

    

    RANGE();

    

    for(i=0;i<20;i++)

        

    {

        

        push(i);

        

    }

    

    PRINT();

    

    for(i=0;i<=20;i++)

        

    {

        

        pop();

        

    }

    

    PRINT();

    

    

    

}




void push(int n)


{

    

    if(range<=length)

        

    {

        

        printf("OVER FLOW\n");

        

    }

    

    

    

    else

        

    {

        

        length++;

        

        node=(NODE*)realloc(node,sizeof(NODE)*length);

        

        node[length-1].data=n;

        

    }

    

}




void pop()


{

    

    if(length!=0)

        

    {

        

        length--;

        

        node=(NODE*)realloc(node,sizeof(NODE)*length);

        

    }

    

    else

        

        printf("EMPTY\n");

    

}




void PRINT (void)


{

    

    int i;

    

    for(i=0;i<length;i++)

        

        printf("%d 번째 출력 : %d\n",i+1,node[i]);

    

    printf("\n");

    

}




void RANGE(void)


{

    

    printf("STACK 크기는 몇으로 지정하시겠습니까? : ");

    

    scanf("%d",&range);

    

 

}

'Programming > C' 카테고리의 다른 글

함수 포인터  (0) 2015.08.27
[ Project ] Wild!  (0) 2015.08.27
연결 리스트 ( Linked List )  (0) 2015.08.27
구조체 ( Struct )  (0) 2015.08.27
Stack과 Queue  (0) 2015.08.26