搜索
编程论坛
→
开发语言
→
『 数据结构与算法 』
→ 帮忙修改一个"List.h"以实现对任意数据类型的支持。
标题:
帮忙修改一个"List.h"以实现对任意数据类型的支持。
只看楼主
sxzjw
等 级:
论坛游民
帖 子:32
专家分:21
注 册:2010-5-23
结帖率:
57.14%
楼主
已结贴
√
问题点数:20 回复次数:3
帮忙修改一个"List.h"以实现对任意数据类型的支持。
照书上编写好“List。h”。千辛万苦修改,才把它改对。
没想到最后书上给了一个问题,要就修改list.h以使得对任意数据类型的支持。
压缩包里有三个list.h,分别是对“char、int、struct”的支持。但怎么实现对任意的支持呢?
大家有没有什么好的思路?请教一个~
包里面的18-1,18-2,18-3都是测试程序,分别用list.h、lis2t.h、list3.h库函数编译。仁兄们帮忙看看。
List.rar
(3.34 KB)
搜索更多相关主题的帖子:
List
类型
数据
2010-06-23 23:07
sxzjw
等 级:
论坛游民
帖 子:32
专家分:21
注 册:2010-5-23
第
2
楼
得分:0
怎么没有人帮下忙啊?我真的想不出来了。。
2010-06-24 12:37
hnliji1107
等 级:
业余侠客
帖 子:53
专家分:216
注 册:2009-10-23
第
3
楼
得分:20
你可以把类型那一块定义成共用体啊,把所有你想到的变量类型都可以放到里面去
typedef struct data
{
char ch;
struct data *next;
}stdata;
typedef struct node{
union
{
char cdata;
int idata;
stdata *sdata
}data
struct node *next;
}ChainNode;
假如有:ChainNode *chNode;
这样通过引用chNode->data.cdata、chNode->data.idata、chNode->data.sdata->ch、chNode->data.sdata->next就可以使用任何变量了
注意,共用体中的变量一次只能使用一个。因为其中的变量是公用一块内存的。
[
本帖最后由 hnliji1107 于 2010-6-24 14:35 编辑
]
2010-06-24 14:31
sxzjw
等 级:
论坛游民
帖 子:32
专家分:21
注 册:2010-5-23
第
4
楼
得分:0
楼上的方法不错啊~只要在list.h中定义就可以了。
试了一试,好用。
可是如果任意呢?不用预先存储什么数据类型,而是在测试函数m.c定义数据类型,并使list.h正确编译。这个怎么弄啊?
2010-06-24 23:14
4
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-311093-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 1.970676 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved