1-4ÕÂϰÌâ´ð°¸

};

ElemType *stack; int top;

void Push(struct StackSq* S, ElemType x) { }

ÎÊÌâ1£º¸ù¾Ý´ËËã·¨¶¨ÒåµÄÊý¾Ý½á¹¹µÄÀàÐÍ£¬´ËËã·¨µÄ¹¦ÄÜÊÇ Ïò˳ÐòÕ»ÖÐÍÆÈëÒ»¸öÔªËØ ¡£

ÎÊÌâ2£ºifÓï¾äÖеÄÌõ¼þӦΪ£º B. ¡£ A. S.top= =S.MaxSize B. S.top= =S.MaxSize-11 Ëã·¨5£º

ElemType OutQueue(struct QueueSq *Q) { }

ÎÊÌâ1¡¢Ëã·¨ÊÊÓõÄÊý¾Ý½á¹¹ £¿ ÎÊÌâ2¡¢Ëã·¨¹¦ÄÜ£¿ ÎÊÌâ3¡¢Ëã·¨·µ»Ø£¿

ÎÊÌâ4¡¢Ëã·¨ÓÐÎÞ½¡×³ÐÔ£¿ÈôÓУ¬ÊÇÄÄ£¨Ð©£©Óï¾ä£¿ ÎÊÌâ5¡¢Ëã·¨µÄ¹Ø¼üÓï¾äÊÇÄÄ£¨Ð©£©Óï¾ä£¿ ÎÊÌâ6¡¢Ëã·¨µÄʱ¼ä¸´ÔÓ¶È´óO£¨£©£¿

9

if( ) againMalloc(S); S->top++;

S->stack[S->top]=x;

if(Q->front==Q->rear) { }

Q->front=(Q->front+1)%Q->MaxSize; return Q->queue[Q->front];

printf(\exit(1);

Æß¡¢·ÖÎöÌâ

1¡¢ÓÐÒ»¸ö˳Ðò´æ´¢µÄÕ»£¬×î´ó´æ´¢¿Õ¼äMaxSize=5£¬Õ»¶¥Ö¸Õëtop£¬ÏÖÓÐA¡¢B¡¢C¡¢DËĸöÔªËØ¡£

ÒªÇó1£ºÐ´³ö˳Ðò´æ´¢Õ»½á¹¹¶¨Òå¡£ ÒªÇó2£º»­³ö ³õʼ»¯×´Ì¬¡£

ÒªÇó3£º»­³öÒÔÉÏËĸöÔªËØÒÀ´Î½øÕ»ºóµÄ״̬¡£

ÒªÇó4£ºÔÚÒªÇó3µÄ»ù´¡ÉÏ£¬»­³öÈý¸öÔªËØ³öÕ»ºó£¬ÓÖÓÐE¡¢F¶þ¸öÔªËØ½øÕ»£¬»­³ö¶ÓÊס¢¶ÓβָÕëλÖá£

ÒªÇó5£ºÒÔÏÂÊÇ´ÓÕ»ÖÐɾ³ýÔªËØ£¬²¢½«±»É¾³ýµÄÔªËØÖµÓɺ¯Êý·µ»ØµÄËã·¨£¬ÇëÌîдËã·¨ÖÐȱʧµÄÓï¾ä¡£ ´ð1£º

typedef char ElemType; struct Stack{

ElemType *stack[ ]; int top; int MaxSize; }; ´ð2£º

0

Top=-1

´ð3£º

0

´ð4£º 0

10

1 2 3 4

1 A 2 B 3 C 4 D

top

1 2 3 4 D 5 E 6 F 7 8 9

top

´ð5£º

ElemType Pop(Stack& S) { }

2¡¢ÓÐÒ»¸ö˳Ðò´æ´¢µÄÑ­»·¶ÓÁУ¬×î´ó´æ´¢¿Õ¼äΪ5£¬¼ÙÉè¶ÓÊ×Ö¸ÕëÖ¸Ïò¶ÓÊ×ÔªËØµÄǰһ¸öλÖ㬶ÓβָÕëÖ¸Ïò¶ÓÎ²ÔªËØ£¬ÏÖ¶ÓÁÐÖÐÒÑÓÐA¡¢B¡¢C¡¢Èý¸öÔªËØ¡£ ÒªÇó1£ºÒÑÓÐ˳Ðò´æ´¢¶ÓÁнṹµÄ¶¨Ò壬ÇëÌîд¶¨ÒåÖÐȱʧµÄÓï¾ä¡£ ÒªÇó2£ºÌîд³ö³õʼ»¯Ëã·¨Óï¾ä¡£

ÒªÇó3£º»­³ö¾­³õʼ»¯ºó£¬ÒÔÉÏÈý¸öÔªËØÒÀ´Î½ø¶Óºó£¬¶ÓÊס¢¶ÓβָÕëλÖᣠҪÇó4£º»­³öÒÔÉÏÈý¸öÔªËØÒÀ´Î³ö¶Óºó£¬ÔªËØD¡¢EÒÀ´Î½ø¶Óºó¶ÓÊס¢¶ÓβָÕëλÖᣠҪÇó5£ºÒÔÏÂÊÇÏò¶ÓÁÐÖвåÈëÔªËØµÄËã·¨£¬ÔÚ²»¿¼ÂÇÀ©³ä¿Õ¼äµÄǰÌáÏ£¬ÇëÌîдËã·¨ÖÐȱʧµÄÓï¾ä»òÓï¾äȱʧµÄ²¿·Ö¡£ ´ð1£º

Typedef int ElemType; struct Queue{

int MaxSize; int front , rear; ElemType *queue; }; ´ð2£º

void InitQueue(Queue& Q)

11

if(S.top==-1){ }

ElemType temp=S.stack[S.top]; S.top--; return temp;

cerr<<\exit(1);

{ } ´ð3£º

0

´ð4£º 0 E rear ´ð5£º

void QInsert(Queue& Q, const ElemType& item) { }

°Ë¡¢Ð´³öÏÂÁÐÖÐ׺±í´ïʽµÄºó׺±í´ïʽºÍÕ»µÄ±ä»¯£¬²¢Ð´³öÇóÖµ¹ý³ÌÕ»µÄ±ä»¯¡£ 1¡¢35£«6¡Á£¨27£­6£©£«6/2

2¡¢16+5¡Á27£«8£­5¡Á4

12

Q.front = Q.rear =0 ;

1 2 A 3 B 4 C

front

rear

1 2 3 4 D

Front

int k=(Q.rear+1)%QueueMaxSize; if(k= =Q.front) { } Q.rear=k; Q.queue[k]=item;

cerr<<\exit(1);

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)