38 lines
1.1 KiB
C
38 lines
1.1 KiB
C
#include "queue.h"
|
|
#include <stdio.h>
|
|
|
|
int main(){
|
|
|
|
SqQuecu a_quecu;
|
|
InitQuecu(&a_quecu,10,sizeof(int));//初始化队列
|
|
//出队进队测试
|
|
int *tmep;//临时存储进对的返回值
|
|
for (size_t i = 0; i < 50; i++)
|
|
{
|
|
tmep = (int*)enQueue(&a_quecu);
|
|
if(tmep!=NULL){ //返回值为空指针则队满
|
|
*tmep=i;
|
|
}
|
|
else{
|
|
printf("出队元素:%d\n",*(int*)deQueue(&a_quecu));
|
|
*(int*)enQueue(&a_quecu)=i; //出队后重新进队
|
|
}
|
|
/*******遍历队列**********/
|
|
for(int i=0;i<a_quecu.Maxsize;i++)
|
|
printf("%d\n",*(int*)(a_quecu.container+i*a_quecu.NodeSize));
|
|
/*******遍历队列**********/
|
|
printf("-------------------------\n");
|
|
|
|
}
|
|
|
|
//连续退队测试
|
|
for(int i=0;i<5;i++){
|
|
printf("出队元素:%d\n",*(int*)deQueue(&a_quecu));
|
|
printf("当前队列长度:%d\n",a_quecu.size);
|
|
}
|
|
DestroyQueue(&a_quecu);
|
|
printf("队列已销毁\n");
|
|
InitQuecu(&a_quecu,80,sizeof(char));
|
|
|
|
return 0;
|
|
} |