gpt4 book ai didi

c++ - 如何在 C 或 C++ 中创建异构链接列表

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:57:31 27 4
gpt4 key购买 nike

能容纳float,integer,character等数据和算法的链表要好,不要太复杂

我想创建一个带有指向后续节点的空指针的结构。但问题是我不能使用带有结构的模板。

回到c,我必须测试用户输入的每个字符,以测试它是否是整数、 float 或字符。然后我们可以进一步进行

请提出一个高效的算法/代码

最佳答案

如果您想自己执行此操作,您基本上需要创建一个对数据和数据类型进行编码的数组或元素链表。您可以使用包含类型指示符和您要处理的各种类型的 union 的结构,并创建该结构的数组或链表:

typedef struct {
int type_indicator;
union {
float f;
int i;
double d;
void *p;
char c;
}
} generic_item;

generic_item generic_array[10];

我将留给您为类型指示器提出适当的枚举并为您的算法添加函数指针。如果您想要一个链表而不是一个数组,您显然还需要添加一个 generic_item *next 指针。

我没有研究其他答案链接到的提升选项,但在尝试推出我自己的解决方案之前,我可能会先看看那里。

关于c++ - 如何在 C 或 C++ 中创建异构链接列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8420744/

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