一步一步建立一个队列
2015-12-09 13:18
351 查看
December 9, 2015 1:05 PM
第一步:定义一个队列类
[code]class node { public: int data; //存放数据 class node *next; //存放指针,指向下一个节点 }; class queue { public: node *first; //头指针 node *rear; //尾指针 };
第二步:创建一个队列
[code]queue *create() //创建队列 { queue *qu = new(queue); //初始化队列,头尾指针均指向空 qu->first = NULL; qu->rear = NULL; return(qu); }
第三步:入队
[code]queue *insert(queue* qu, int x) //队列入队 { node *newItem; newItem = new(node); newItem->data = x; newItem->next = NULL; if(qu->rear == NULL) //如果队列为空 { qu->first = newItem; qu->rear = newItem; } else { qu->rear->next = newItem; qu->rear = newItem; } return(qu); }
第四步:出队
[code]queue *del(queue* qu) //队列出队 { node *deleteItem; if(qu->first == NULL) //判断队列是否为空 { cout << "these is nothing to delete!!!" << endl; } else { deleteItem = qu->first; cout << "the deleted data is : " << deleteItem->data << endl; if(qu->first == qu->rear) //判断队列是否只有一个元素 { qu->first = NULL; qu->rear = NULL; } else { qu->first = qu->first->next; } } return(qu); }
第五步:主函数运行测试
[code]int main(int argc, char** argv) { queue *qu = create(); qu = insert(qu, 123); qu = insert(qu, 456); qu = del(qu); qu = del(qu); return 0; }
相关文章推荐
- python-property、docstring--笔记
- 当justify遇上了
- nginx secure_link下载防盗链
- zzulioj 1805: SC和ta的游泳池 (简单计算几何)
- gcc 编译器 , __builtin_expect() 研究
- 需要继续研究
- PHP编程效率的20个要点
- 单机虚拟化收效甚微
- Ubuntu 添加新分区 并设置挂载点
- Bootstrap中的段落和强调内容
- 数组中出现次数超过一半的数字
- 谷歌重返中国:已在华注册“壳公司”
- session和cookie原理
- 关于margin重合的几种解决办法
- java异常处理
- IT为什么需要虚拟化
- 【转载】MFCC特征提取(C语言版本)
- CentOS安装配置redis
- 书
- GCC -E -Wall等编译参数