网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
数据结构C语言实现系列——队列
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
bsp; if(q- >rear != q->maxSize -1){
        int i;
        for(i = 0; i  <= q->rear; i++){
            q- >queue[i+q->maxSize] = q->queue[i];
        }
        q- >rear += q->maxSize;        /* 队尾指针后移maxSize个位置 */
    }
    q- >maxSize = 2 * q->maxSize;    /* 把队列空间大小修改为新的长度 */
    return;
}

/* 1.初始化队列 */
void initQueue(struct queue *q, int ms)
{
    /* 检查ms是否有效,若无效则退出运行 */
    if(ms  <= 0){
        printf( "ms值非法! ");
        exit(1);
    }
    q- >maxSize = ms;        /* 置队列空间大小为ms */
    /* 动态存储空间分配,若失败则退出运行 */
    q- >queue = malloc(ms * sizeof(elemType));
    if(!q- >queue){
        printf( "内存空间分配失败! ");
        exit(1);
    }
    q- >front = q->rear = 0;        /* 初始置队列为空 */
    return;
}

/* 2.向队列中插入元素x */
void enQueue(struct queue *q, elemType x)
{
    /* 当队列满时进行动态生分配 */
    if((q- >rear + 1) % q->maxSize == q->front){
        againMalloc(q);
    }
    q- >rear = (q->rear + 1) % q->maxSize;        /* 求出队尾的下一个位置 */
    q- >queue[q->rear] = x;                        /* 把x的值赋给新的队尾 */
    return;
}

/* 3.从队列中删除元素并返回 */
elemType outQueue(struct queue *q)
{
    /* 若队列为空则终止运行 */
    if(q- >front == q->rear){
        pri

网学推荐

免费论文

原创论文

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