#include stdlib.h // malloc, free
创新互联建站是专业的乌兰网站建设公司,乌兰接单;提供成都网站制作、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行乌兰网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
#include "queue.h"
struct queue * queue_create(void)
{
struct queue *q = (struct queue *)malloc(sizeof(struct queue));
if (q == NULL) { // malloc failed
return NULL;
}
q-head = dnode_create();
q-tail = dnode_create();
q-head-next = q-tail;
q-tail-prev = q-head;
q-size = 0;
return q;
}
void queue_destroy(struct queue *q)
{
if (q != NULL) {
while (!queue_isempty(q)) {
queue_dequeue(q);
}
dnode_destroy(q-head);
dnode_destroy(q-tail);
free(q);
q = NULL;
}
}
int queue_front(const struct queue * const q)
{
return q-tail-prev-data;
}
void queue_enqueue(struct queue * const q, const int e)
{
struct dnode *dn = dnode_create();
dn-data = e;
struct dnode *tmp = q-head-next;
q-head-next = dn;
dn-prev = q-head;
dn-next = tmp;
tmp-prev = dn;
q-size += 1;
}
int queue_dequeue(struct queue * const q)
{
struct dnode *dn = q-tail-prev;
struct dnode *tmp = dn-prev;
tmp-next = q-tail;
q-tail-prev = tmp;
int ret = dn-data;
dnode_destroy(dn);
q-size -= 1;
return ret;
}
int queue_size(const struct queue * const q)
{
return q-size;
}
int queue_isempty(const struct queue * const q)
{
return q-size 0 ? 0 : 1;
}
//////////////////////
static void bubble_sort(int * const a, const int n)
{
int swapped = 1;
while (swapped) {
swapped = 0;
for (int i = 1; i n; i++) {
if (a[i] a[i - 1]) {
int tmp = a[i];
a[i] = a[i - 1];
a[i - 1] = tmp;
swapped = 1;
}
}
}
}
bool dequeue(sqqueue *q,char e)
{
if(queueempty(q))
return false;
q-front++;
e=q-date[q-front];
return true;
}
一个很简单的小问题,dequeue的参数e 应该是引用哦
q.push(m); // queue是C++STL模板库的东西,需要使用push来插入元素,详细信息你可以参考MSDN来了解其使用及内容。