前段时间在知乎上看到这样一个小题目: 用基本类型实现一队列,队列要求size是预先定义好的的。而且要求不可以使用语言自带的api,如C++的STL。普通的实现很简单,但是现在要求要尽可能的时间和空间复杂度的优化,要和语言自带的api比较时间和空间。这个队列还要支持如下的操作: constru...
分类:
其他好文 时间:
2014-12-31 01:01:07
阅读次数:
239
前段时间在知乎上看到这样一个小题目: 用基本类型实现一队列,队列要求size是预先定义好的的。而且要求不可以使用语言自带的api,如C++的STL。普通的实现很简单,但是现在要求要尽可能的时间和空间复杂度的优化,要和语言自带的api比较时间和空间。这个队列还要支持如下的操作: constru...
分类:
其他好文 时间:
2014-12-30 23:20:26
阅读次数:
237
生活中有非常多队列的影子,比方打饭排队,买火车票排队问题等,能够说与时间相关的问题,一般都会涉及到队列问题;从生活中,能够抽象出队列的概念,队列就是一个能够实现“先进先出”的存储结构。队列分为链式队列和静态队列;静态队列一般用数组来实现,但此时的队列必须是循环队列,否则会造成巨大的内存浪费;链式队列...
分类:
编程语言 时间:
2014-12-23 15:28:11
阅读次数:
237
//CycQueue.h
/*
Queue:First In First Out (FIFO)
避免假溢出:使用循环队列。
*/
#define QUEUEMAX 20
//1.定义队列结构
typedef struct
{
DATA data[QUEUEMAX]; //队列数组
int head; //队头
int tail; //队尾
}CycQueue;
/...
分类:
其他好文 时间:
2014-12-09 15:46:05
阅读次数:
270
数据结构--队列实现(顺序队列和链队列)与C++模板
一、顺序队列
#include
#include
#include
#define OK 1
#define FAIL 0
//最大队列长度 循环队列的大小减1 为了区分队空与队满的判断
#define QUEUE_MAX_SIZE (10+1)
typedef int QElemType;
/...
分类:
编程语言 时间:
2014-12-09 10:35:13
阅读次数:
279
//数据结构中指针的应用
//内存中的堆栈和数据结构中的堆栈室友区别的
//在数据结构中,常常把堆栈放在一起表示的一种数据结构,
//但是在内存中堆是存储动态的内存,栈是存放静态的以及调用的函数。
//在数据结构中涉及了堆栈,队列,链表等在这里主要实现的是队列。
//循环队列的指针应用
#include
#include
#define QueueSize_UarLen 8
...
分类:
其他好文 时间:
2014-12-09 00:37:01
阅读次数:
231
myQuene.h
#pragma once
typedef int TYPE;
class myQueue
{
TYPE* m_pData;
int m_nCount;
int m_nHead,m_nTail;
public:
myQueue(int nCount = 4)
{
m_nCount = nCount;
m_pData = new...
分类:
编程语言 时间:
2014-12-06 18:15:34
阅读次数:
160
部门准备开发一个项目,这个项目其中一个模块内部实现需要用到队列来实现各小模块内部通讯,
为了实现高效的数据传输模式,决定放弃轮询的方式,改用阻塞方式实现一个循环队列。后来项目
取消了,但该部分代码也写好测试成功了,不想浪费了,就贴出来提供给有需要的人。所有代码和
测试文档我会打包上传到我的个人空间。
函数说明如下:
所有函数成功返回0,失败返回错误码。
该说明文档只是简要说明该函数库,...
分类:
其他好文 时间:
2014-12-06 12:51:40
阅读次数:
159
线性表中,先进先出的叫队列,先进后出的叫栈。队列常用于BFS,而在函数递归层数过高时,需要手动实现递归过程,这时候便需要写一个“手动栈”。 有时候,我们会有大量数据频繁出入队列,但同时存在其内的元素却不多,此时需要写“循环队列”。其代码并不难,但里面下标递增的语句值得斟酌一下。k=(k+1)...
分类:
编程语言 时间:
2014-12-04 13:42:51
阅读次数:
143
说明:严蔚敏的《数据结构》(C语言版)学习笔记,记录一下,以备后面查看。#include
#include
#define OK 1;
#define ERROR -1;
typedef int QElemType;
typedef int Status;
//定义队列节点
typedef struct QNode{
QElemType data;
struct QNod...
分类:
其他好文 时间:
2014-12-03 00:31:17
阅读次数:
264