正文

FIFO算法模拟2006-07-04 12:18:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/tld5yj/16343.html

分享到:

#define M 4

#define N 10

#include<stdio.h>

 

typedef struct Queue

{char *head;

 char *tail:

 int=length;

}Que;

 

Que create()

{Que Q;

 Q.head=(Queue)malloc(sizeof(Que));

 Q.tail=Q.head;

 Q.length=0;

 return(Q);

}

 

Que push(Que Q,char c)

{*++Q.tail=c;

 Q.length++;

 if(Q.length>M)printf("Overflow!");

 else return(Q);

}

 

char pop(Que Q)

{char c;

 if(Q.length==0)exit(NULL);

 Q.length++;

else return(c);

}

 

void visit(Que Q)

{int count;

 char e;

 for(count=0;count<M;count++)

 {e=pop(Q);

  printf("%c",e);

  push(Q,pop(Q));

 }

}

 

main()

{Que Q,p;

 char c,e;

 c=getchar();

 while(c!=NULL)

 {for(p=Q.head;p<=Q.tail;p++)

  {if(*p==c)visit(Q);

   else

   {e=pop(Q);

    push(Q,c);

   }

  }

 }

}

阅读(5080) | 评论(2)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册