void Traverse()//while( walker!=rear) { printf("%c",buff[walker]); walker=(walker+1)%10;
2012-05-10 09:39
288 查看
// StaticQuene.cpp : Defines the entry point for the console application. // #include "stdafx.h" struct StaticQuene { private: char buff[10]; int front; int rear; public: bool isFull() { return ((rear+1)%10)==front; } bool isEmpty() { return front==rear; } StaticQuene() { //buff[0]=c; front=0; rear=0; } bool Enquene(char c) { if(isFull()) return false; buff[rear]=c; rear=++rear%10; return true; } bool OutQuene(char& c) { if(isEmpty()) return false; c=buff[front]; front=++front%10; return true; } int getLength() { if (rear>=front) return (rear-front); //else if(rear==front) // return isFull?10:0; else return (rear+10-front); } void Traverse() { int walker=front; while( walker!=rear) { printf("%c",buff[walker]); walker=(walker+1)%10; } printf("\n"); } }; int main(int argc, char* argv[]) { StaticQuene quene; int i=0; char c; while(!quene.isFull()) { quene.Enquene('a'+i++); printf("%d ",quene.getLength()); } printf("\n========================\nTraverse:\n"); quene.Traverse(); printf("=========================\n"); while(!quene.isEmpty()) { quene.OutQuene(c); printf("%c %d;",c,quene.getLength()); } printf("=======================\n"); i=0; while(!quene.isFull()) { quene.Enquene('a'+i++); printf("%d ",quene.getLength()); } printf("\n"); printf("\n========================\nTraverse:\n"); quene.Traverse(); printf("=========================\n"); while(!quene.isEmpty()) { quene.OutQuene(c); printf("%c %d;",c,quene.getLength()); } printf("=======================\n"); return 0; } /* 1 2 3 4 5 6 7 8 9 ======================== Traverse: abcdefghi ========================= a 8;b 7;c 6;d 5;e 4;f 3;g 2;h 1;i 0;======================= 1 2 3 4 5 6 7 8 9 ======================== Traverse: abcdefghi ========================= a 8;b 7;c 6;d 5;e 4;f 3;g 2;h 1;i 0;======================= Press any key to continue */
相关文章推荐
- 论printf("123");while(1);在不同平台下的不同输出
- error while loading shared libraries: xxx.so.x"错误的原因和解决办法
- 使用Axis2报"An error occurred while completing process -java.lang.reflect.InvocationTargetException"处理
- VC++6.0中错误"unexpected end of file while looking for precompiled...
- printf("%x,%x",ptr1[-1],*ptr2);大小端,寻址!
- linux 关于while((n=read(STDIN_FILENO,buf,BUFFSIZE)) > 0)
- "Error installing to Instantiated" while starting JBossAS 6.0.0.Final "Neo"
- error while loading shared libraries: xxx.so.x"错误的原因和解决办法
- printf("%d",5.01)和printf("%f",5)的输出结果
- (Entlib 5.0)Activation error occured while trying to get instance of type ICacheManager, key ""求解决办法
- printf "%.*s"
- printf("%d",5.01)和printf("%f",5)的输出结果
- error while loading shared libraries: xxx.so.x"错误的原因和解决办法
- error while loading shared libraries: xxx.so.x"错误的原因和解决办法
- error while loading shared libraries: xxx.so.x"错误的原因和解决办法
- 报错"sqlplus: error while loading shared libraries"
- printf(&unix["\021%siz\012\0"].....
- error while loading shared libraries: xxx.so.x"错误
- [置顶] ubuntu 16.04 循环登录 && An error occurred while performing the step : " Building kernel modules "
- "error while loading shared libraries: xxx.so.x" 错误的原因和解决办法