메뉴 건너뛰기


씨언어 잘하시는 회원님 도움을.....

인자요산2005.05.09 12:53조회 수 150댓글 0

    • 글자 크기



스텍과 큐는 top, rear, front 변수의 초기값을 -1로 줘야 합니다.
씨언어에서의 배열은 첨자가 0부터 시작하기 때문에 반드시 모든 변수를 -1로 초기화 해줘야 결과값이 바르게 나옵니다.



>#include<stdio.h>                
>
>int top;                
>int stack[3];
>int Queue[3];
>int data;
>int head=0,tail=0;                        
>
>push()                        
>{
>        stack[++top] = data;        
>        return 0;
>}
>
>pop()                        
>{
>        stack[top--] = 0;                
>        return 0;
>}
>
>stackwrite()                
>{
>        int i;
>        printf("Stack : ");
>        for(i=top;i>0;i--)                        
>                printf("%3d",stack[i]);
>        return 0;
>}
>
>Q_push()                
>{
>        Queue[tail++] = data;                
>        return 0;
>}
>
>Q_pop()                        
>{
>        Queue[head++] = 0;                        
>        return 0;
>}
>
>Q_write()                        
>{
>        int i;
>        printf("\nQueue : ");                
>        for (i=head;i<tail;i++)                        
>                printf("%3d",Queue[i]);
>        return 0;
>}
>
>
>void main()                        
>{
>        int ch;
>        printf ("**************************************\n");
>        printf ("1. add                2. delete        3.exit\n");
>        printf ("**************************************\n");
>        for(;;)
>        {
>                printf("\n\nChoose : ");
>                scanf ("%d",&ch);
>                printf("\n");
>                if (ch==1)
>                {
>                        if (top > 2)
>                        {
>                                printf("overflow ...\n");
>                                break;
>                        }
>                        printf("Input : ");
>                        scanf("%3d",&data);
>                        push();
>                        Q_push();
>                        stackwrite();
>                        Q_write();
>                }
>                if (ch==2)
>                {
>                        if (top == 0)
>                        {
>                                printf("underflow ...\n");
>                                break;
>                        }
>                        pop();
>                        Q_pop();
>                        stackwrite();
>                        Q_write();
>                }
>                if (ch==3)
>                {
>                        break;
>                }                        
>                
>        }
>}
>
>
>


    • 글자 크기

댓글 달기

번호 제목 글쓴이 날짜 조회 수
공지 드디어 복구했습니다. 와일드바이크 심폐소생의 변!39 Bikeholic 2019.10.27 2899
25700 제 와이프가 그러더군요.. ........ 2001.11.02 187
25699 제 운동 前, 後 경험담... 路雲 2005.11.02 1188
25698 제 의견... ........ 2003.01.12 173
25697 제 의견... simpson 2003.01.12 290
25696 제 의견도 바로 그것입니다. ........ 2002.08.18 139
25695 제 의견은... 路雲 2005.10.25 349
25694 제 이름으로 검색해 보세요. 날초~ 2003.06.27 171
25693 제 이름은 없는데요... ........ 2001.10.24 143
25692 제 이름은 왜 부르시고..^^ 아이 스 2003.10.22 238
25691 제 이름을 모르셨군요. 이진학 2002.10.02 220
25690 제 이야기는 함께... O-O 2003.07.24 187
25689 제 이야기를 하는듯.... 자전거타고 2003.10.21 201
25688 제 일기장에도 리플 남겨셨더군요..^^ 아이~ 저아~ 2003.10.16 180
25687 제 입장과 생각입니다. ........ 2001.07.17 169
25686 제 자전거 무게.... ........ 1999.09.23 406
25685 제 자전거 소개합니다. 그리고 함께 타실분... ........ 2002.10.27 670
25684 제 자전거 이름...들 ........ 2003.04.03 288
25683 제 자전거.. ........ 1999.10.15 162
25682 제 자전거가 MTB가 아니었습니다... prollo 2004.08.23 881
25681 제 자전거가 빛나요!! MUSSO-TDI 2003.03.24 451
첨부 (0)
위로