gpt4 book ai didi

c - 如何创建新队列

转载 作者:行者123 更新时间:2023-11-30 16:46:17 25 4
gpt4 key购买 nike

我是 C 编程新手。我尝试编写很多程序来变得更好:)但此刻我陷入了一个愚蠢的点。

我有一个创建优先级队列的任务。我一开始就得到了这两个结构。

struct q_elem_s {
char* name;
int priority;
struct q_elem_s *next;
};

struct PrioQueue {
int size; //size of the queue
q_elem *root; //Beginn of the queue
};

通常我对队列没有任何问题,但我对第二个结构感到困惑。

所以我的想法:

PrioQueue* pqueue_new() {
q_elem = malloc(sizeof(q_elem_s));
return NULL;
}

感谢您的帮助。

最佳答案

首先,您的代码中有几个错误。我在这里向您解释第二个结构的含义以及创建新优先级队列的正确函数应该是什么。我还在您的代码中引入了必要的更改。

第一个结构定义队列中的单个节点。而第二个结构代表单个队列 -

struct PrioQueue {
int size; //size of the queue
struct q_elem_s *root; //Beginn of the queue
};

struct q_elem_s * root 为头节点或根节点。

你的函数应该是这样的 -

struct PrioQueue* pqueue_new() {
struct PrioQueue *queue = malloc(sizeof(struct PrioQueue));
queue->root = NULL;
return queue;
}

关于c - 如何创建新队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43829517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com