c语言调用queue函数 c语言调用函数时

C语言和queue有关的指令

#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;

}

}

}

}

一道C语言数据结构队列代码 调用出队子函数dequeue时不知哪里出错,运行无输出。

bool dequeue(sqqueue *q,char e)

{

if(queueempty(q))

return false;

q-front++;

e=q-date[q-front];

return true;

}

一个很简单的小问题,dequeue的参数e 应该是引用哦

c语言调用队列库函数

q.push(m); // queue是C++STL模板库的东西,需要使用push来插入元素,详细信息你可以参考MSDN来了解其使用及内容。


当前标题:c语言调用queue函数 c语言调用函数时
标题来源:http://scyanting.com/article/dohjogo.html