2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > c语言队列程序怎么写 [原创]非常漂亮的队列演示程序(C语言版)

c语言队列程序怎么写 [原创]非常漂亮的队列演示程序(C语言版)

时间:2020-02-12 17:50:22

相关推荐

c语言队列程序怎么写 [原创]非常漂亮的队列演示程序(C语言版)

该楼层疑似违规已被系统折叠隐藏此楼查看此楼

#defineMAX10/*规定队列中可存放的字节数,[1~254]*/

typedefenum{FALSE,TRUE}boolean;

booleanSaveNumber(

unsignedchar*q,

unsignedchar*front,

unsignedchar*rear,

unsignedchar*ch);

booleanDelNumber(

unsignedchar*q,

unsignedchar*front,

unsignedchar*rear,

unsignedchar*ch);

intmain(){

unsignedcharQueue[MAX+1],front=0,rear=1,c;

charch;

boolean(*pntr[2])(

unsignedchar*,unsignedchar*,

unsignedchar*,unsignedchar*)={SaveNumber,DelNumber};

constchar*Message[]={

/*0*/"Number%dsavedsuccessfully.",

/*1*/"\nGet%ufromtheQueue.\n",

/*2*/"Failed.",

/*3*/"[1]SaveanumberintoQueue.",

/*4*/"[2]GetandDeleteanumberfromQueue.",

/*5*/"[3]Exit.",

};

do{

clrscr();

printf("%s\n",Message[3]);

printf("%s\n",Message[4]);

printf("%s\n",Message[5]);

printf("Select:");

switch(ch=getche()){

inti;

case'1':

printf("\nInputanumberbetween0and255:");

scanf("%d",&i);

c=i;

case'2':

ch-=49;

break;

case'3':

return(0);

default:continue;

}

if(pntr[ch](Queue,&front,&rear,&c))printf(Message[ch],c);

elseprintf(Message[2]);

printf("\nPressanykey...");

getch();

}while(1);

}

booleanSaveNumber(q,front,rear,ch)

unsignedchar*q,*front,*rear,*ch;

{

if(*front==*rear){

printf("Sorry,theQueueisfull.\n");

return(FALSE);

}else{

q[*rear]=*ch;

*rear=(*rear+1)%(MAX+1);

return(TRUE);

}

}

booleanDelNumber(q,front,rear,ch)

unsignedchar*q,*front,*rear,*ch;

{

if((*front+1)%(MAX+1)==*rear){

printf("\nSorry,theQueueisempty.\n");

return(FALSE);

}else{

*front=(*front+1)%(MAX+1);

*ch=q[*front];

return(TRUE);

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。