메뉴 건너뛰기


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

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


    • 글자 크기
그 자전거.. (by imcrazy) 찾으시는 글이.... (by balancer)

댓글 달기

번호 제목 글쓴이 날짜 조회 수
공지 드디어 복구했습니다. 와일드바이크 심폐소생의 변!41 Bikeholic 2019.10.27 3503
145686 저의 최고 기록은 72km 입니다. musso 2005.05.09 258
145685 그 자전거.. imcrazy 2005.05.09 209
씨언어 잘하시는 회원님 도움을..... 인자요산 2005.05.09 151
145683 찾으시는 글이.... balancer 2005.05.09 234
145682 내생애의 신기록- 45Km/h를 넘다!! gomsoon1 2005.05.09 282
145681 좋으셨죠 ^ ^ sevenonemt 2005.05.09 152
145680 M T B 대회를 등급에대한 어느분에글 ... 이모님 2005.05.09 602
145679 앞변속기 어이없는 파손이군요.대책좀...TT nullmen 2005.05.09 289
145678 정말 어찌해야 할지 모르겠습니다... ddol264 2005.05.09 587
145677 전국일주 nullmen 2005.05.09 341
145676 AS는 모르겠으나... ksj7680 2005.05.09 306
145675 스트레스를 ~~ dean 2005.05.09 159
145674 내생애의 신기록- 45Km/h를 넘다!! 행동하는양심 2005.05.09 464
145673 한치만님을 아시는분계십니가? dasol21c 2005.05.09 477
145672 내생애의 신기록- 45Km/h를 넘다!! wildone 2005.05.09 385
145671 최악의 경우를 생각해봅시다. xxxxl 2005.05.09 466
145670 내생애의 신기록- 45Km/h를 넘다!! iceblade 2005.05.09 397
145669 여름 방학 했는대...몸살이라니... treky 2005.05.09 344
145668 극장에서 퇴짜 맞았습니다. Bluebird 2005.05.09 223
145667 267km/h라는 기록은... bloodlust 2005.05.09 446
첨부 (0)
위로