輔導(dǎo):C++技巧(quque-c動(dòng)態(tài)變長(zhǎng)隊(duì)列)

字號(hào):

/*@file test.c*/
    /*動(dòng)態(tài)增大隊(duì)列測(cè)試程序*/
    /*先分配12個(gè)元素,清除隊(duì)列后,再分配20個(gè)元素入隊(duì)列,演示隊(duì)列動(dòng)態(tài)增大*/
    /*mingGW compiled ok*/
    typedef int ElemType;
    #include "allhead.h"
    #include "quque.h"
    #include "fun.h"
    void main()
    {
    Status j;
    int i,n=11;
    ElemType d;
    SqQueue Q;
    InitQueue(&Q);
    printf("1.初始化隊(duì)列,12個(gè)元素入隊(duì)\n");
    for(i=1;i<=12;i++)
    {EnQueue(&Q,i);}/*12個(gè)元素入隊(duì)*/
    printf("2.隊(duì)列空否?%u(1:空 0:否)\n",QueueEmpty(Q));
    printf("3.隊(duì)列長(zhǎng)度?%d\n",QueueLength(Q));
    printf("4.隊(duì)列元素為: ");
    QueueTraverse(Q,print);
    printf("5.刪除隊(duì)頭元素");
    DeQueue(&Q,&d); printf("%d",d);
    printf("\n6.隊(duì)列元素為: ");
    QueueTraverse(Q,print);
    j=GetHead(Q,&d);
    if(j)
    printf("7.隊(duì)頭元素為: %d\n",d);
    else
    printf("7.無隊(duì)頭元素(空隊(duì)列)\n");
    ClearQueue(&Q);
    printf("8.清空隊(duì)列后, 隊(duì)列空否?%u(1:空 0:否)\n",QueueEmpty(Q));
    printf("9.清除隊(duì)列\(zhòng)n");
    DestroyQueue(&Q);
    printf("10.20個(gè)元素入隊(duì)\n");
    for(i=20;i>=1;i--)
    {EnQueue(&Q,i);}/*20個(gè)元素入隊(duì)*/
    QueueTraverse(Q,print);
    printf("11.清除隊(duì)列\(zhòng)n");
    DestroyQueue(&Q);
    }