关于c语言的链表定义问题
假如我要在一个程序中定义多个链表(包含方法和链表元素),方法相同,而链表元素的数据类型不同,比如一个char另一个double还有一个float那我该如何写这个头文件?我...
假如我要在一个程序中定义多个链表(包含方法和链表元素),方法相同,而链表元素的数据类型不同,比如一个char 另一个double 还有一个float 那我该如何写这个头文件?
我找到定义的方法了
#defined new_list(list_name,type) struct list_name \
{ \
type value; \
struct list_name*next; \
\*省略方法 * \ \
} \
不过还是谢谢网友的热心解答 展开
我找到定义的方法了
#defined new_list(list_name,type) struct list_name \
{ \
type value; \
struct list_name*next; \
\*省略方法 * \ \
} \
不过还是谢谢网友的热心解答 展开
展开全部
如果是C++,用模板很容易实现。C语言的话除了每一种类型数据和方法都定义一遍(不过这太繁琐),还可以考虑使用Union类型:
union u_tag{ // data type
char ch;
int d;
double dl;
};
struct node { // linked list node
char type;
union u_tag u;
struct node *next;
};
// Linked list methods
展开全部
依次定义,
如果是java或者C#这样的面向对象语言,可以定义类,在构造函数中传不同参数来设计不用类型的链表
如果是java或者C#这样的面向对象语言,可以定义类,在构造函数中传不同参数来设计不用类型的链表
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有必要啊,while里面的malloc是重新建立一个节点啊,第一个malloc只是建立了一个;
ps:你这里malloc(LEN)和malloc(1)的效果是一样的;
ps:你这里malloc(LEN)和malloc(1)的效果是一样的;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询