我是一名编程初学者,请在我身上轻松一下,我很难找到我的问题的答案。我无法理解复杂的代码。有人可以用简单的代码解释我如何generic list manipulation function written which accepts elements of any kind?
在此先感谢。如何编写泛型列表操作函数?
7
A
回答
1
看起来你需要一个异构列表。一些指针如下:
将列表节点的数据元素设置为通用结构,其中包含数据类型和数据的指示符。
/** This should be your data node **/
struct nodedata
{
int datatype;
void *data;
};
/** This should be your list node **/
struct listnode
{
struct nodedata *data;
struct listnode *next;
};
使用上述结构,可以存储不同类型的数据。 根据数据类型使用函数指针进行比较函数或调用不同的函数。
+1
。为你的时间+1。 – Korhan
1
这通常使用空指针来完成:
typedef struct node {
struct node *next;
void *data;
} node;
node *insert(node *list, void *data) {
}
node *delete(node *list, node *to_delete) {
}
这种操纵的功能不依赖于实际的数据类型,这样他们可以被一般地实施。例如,你可以有上面的数据字段的数据类型结构:
typedef struct data {
int type;
void *data;
} data;
/* .... */
data d;
d.type = INT;
d.data = malloc(sizeof(int));
node n = {NULL, (void*)&data);
+0
谢谢。为你的时间+1。 – Korhan
相关问题
- 1. 编写调用scala中泛型函数的泛型函数
- 2. 如何编写采用通用类型的泛型函数?
- 3. 如何传递泛型列表作为构造函数?
- 4. 如何为任何数据构造函数编写泛型函数?
- 5. 如何编写区分signed和unsigned int的泛型函数?
- 6. 如何为不同的类编写通用的泛型函数?
- 7. iOS - Swift:如何为这种情况编写泛型函数?
- 8. 如何使用const InputIterators为泛型容器编写函数?
- 9. 如何为列表编写replace()函数
- 10. 如何使用泛型编写通用操纵器?
- 11. 如何用列表作为参数编写函数
- 12. 如何编写类型级别列表的交集函数
- 13. 如何使用泛型类型的泛型列表泛型类
- 14. 用C++/CLI从泛型函数返回泛型列表
- 15. 如何从非泛型函数返回泛型函数?
- 16. 使用RxJS编写函数/操作符
- 17. 如何编写泛型隐式转换?
- 18. 如何在泛型列表
- 19. C#泛型列表作为函数参数
- 20. WPF泛型:如何定义一个对象列表作为函数的参数
- 21. 如何用一般类的不同泛型类型的操作数重载泛型类的操作符
- 22. 如何为各种并置操作编写函数
- 23. 如何在JavaScript中编写一个参数大小的泛型函数?
- 24. 如何编写函数原型?
- 25. 如何编写一个将不同类型作为参数的泛型方法?
- 26. 泛型函数
- 27. 如何指定泛型类型作为函数参数
- 28. 操作泛型重载
- 29. 泛型列表
- 30. 泛型与数组列表
C不是泛型编程遗憾的是 – Pubby
这[图书](一个非常好的语言http://www.cs.rit.edu/ 〜ats/books/ooc.pdf)可能对你有帮助,也可以[代码](http://www.linuxcandy.com/2011/11/week-4-introduction-to-generic.html) –
@GrijeshChauhan谢谢你非常感谢 – Korhan