网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
数据结构C语言实现系列——队列
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
{
        printf( "队列为空,无法删除! ");
        exit(1);
    }
    temp = hq- >front->data;        /* 暂存队尾元素以便返回 */
    p = hq- >front;                /* 暂存队尾指针以便回收队尾结点 */
    hq- >front = p->next;        /* 使队首指针指向下一个结点 */
    /* 若删除后链队为空,则需同时使队尾指针为空 */
    if(hq- >front == NULL){
        hq- >rear = NULL;
    }
    free(p);        /* 回收原队首结点 */
    return temp;    /* 返回被删除的队首元素值 */
}

/* 4.读取队首元素 */
elemType peekQueue(struct queueLK *hq)
{
    /* 若链队为空则停止运行 */
    if(hq- >front == NULL){
        printf( "队列为空,无法删除! ");
        exit(1);
    }
    return hq- >front->data;        /* 返回队首元素 */
}

/* 5.检查链队是否为空,若为空则返回1, 否则返回0 */
int emptyQueue(struct queueLK *hq)
{
    /* 判断队首或队尾任一个指针是否为空即可 */
    if(hq- >front == NULL){
        return 1;
    }else{
        return 0;
    }
}

/* 6.清除链队中的所有元素 */
void clearQueue(struct queueLK *hq)
{
    struct sNode *p = hq- >front;        /* 队首指针赋给p */
    /* 依次删除队列中的每一个结点,最后使队首指针为空 */
    while(p != NULL){
        hq- >front = hq->front->next;
        free(p);
        p = hq- >front;
    }    /* 循环结束后队首指针已经为空 */
    hq- >rear = NULL;        /* 置队尾指针为空 */
    return;
}

/*******************

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号