메뉴 건너뛰기


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

인자요산2005.05.09 12:53조회 수 159댓글 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;
>                }                        
>                
>        }
>}
>
>
>


    • 글자 크기

댓글 달기

번호 제목 글쓴이 날짜 조회 수
공지 드디어 복구했습니다. 와일드바이크 심폐소생의 변!43 Bikeholic 2019.10.27 40218
25789 제 생각에도 그 아이디가 빠졌네요. kys55 2005.05.05 372
25788 제 생각에도... ocarina 2004.04.21 306
25787 제 생각에도..... ........ 2004.04.25 169
25786 제 생각엔 냠냠냠 2004.01.29 214
25785 제 생각엔 긍정적인 부분도 있다고 봅니다. 열린마음 2004.04.07 261
25784 제 생각엔 수입상의 횡포라기보다는 제조사의 상술인 것 같습니다. 특히나 시마노...(내용 없음) Abra_Ham 2005.06.22 423
25783 제 생각엔 진화가 아니라 퇴보라고 봅니다. 붉은낙타 2003.12.25 178
25782 제 생각엔.. 여유만만 2005.05.08 284
25781 제 생각엔.. animator 2004.11.11 327
25780 제 생각엔.. 상혁 2004.09.24 819
25779 제 생각엔.. ^^; 자전거중독 2004.07.04 427
25778 제 생각엔.. 그건 관용이 아니라 생각합니다. frogfinger 2005.07.21 223
25777 제 생각엔... 따뷔렝 2004.11.30 234
25776 제 생각엔... sancho 2004.01.02 433
25775 제 생각엔... sancho 2004.02.28 264
25774 제 생각엔... Bluebird 2005.03.16 369
25773 제 생각엔... ericjam 2004.06.01 294
25772 제 생각엔... sinuk25 2005.02.27 395
25771 제 생각엔... ........ 2001.08.09 229
25770 제 생각엔... RedSky 2004.02.05 174
첨부 (0)
위로