首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

小弟我觉得书上的链表中结构体变量设计好复杂,有和小弟我同感的吗

2013-08-09 
我觉得书上的链表中结构体变量设计好复杂,有和我同感的吗?比如说,#define SIZE 40struct film{char title[

我觉得书上的链表中结构体变量设计好复杂,有和我同感的吗?
比如说,

#define SIZE 40

struct film
{
char title[SIZE];
int rating;
};

typedef struct film Item;

typedef struct node
{
Item item;
struct node * next;
}Node;

typedef Node * List


我总觉得用下面的不是更好,还方便记住,每次我也总想像书上那样去写,总是记不住node list 是什么了。所以总是用自己的方法来,我的方法就是将上面的简化,

struct film
{
char title[SIZE];
int rating;
struct film * next;

};

struct film * head;


[解决办法]
分开写是有好处的,可以把数据和结构分离,便于维护和扩展,是很好的设计。
比如对于数据的操作,只需要针对struct film类型即可,没有必要把链表牵扯进来。
再比如以后需要更换为双链表,只需要修改struct node及其相关结构维护函数即可。


引用:
比如说,
#define SIZE 40

struct film
{
char title[SIZE];
int rating;
};

typedef struct film Item;

typedef struct node
{
Item item;
struct node * next;
}Node;

typedef Node * List


我总觉得用下面的不是更好,还方便记住,每次我也总想像书上那样去写,总是记不住node list 是什么了。所以总是用自己的方法来,我的方法就是将上面的简化,

struct film
{
char title[SIZE];
int rating;
struct film * next;

};

struct film * head;

[解决办法]
//c++定义链表节点的方式
template <typename T>
struct ListNode
{
    T _data;
    ListNode* next;
};

[解决办法]
觉得复杂的话,自己画图方便来理解。

然后自己去实现,写自己的node
[解决办法]
typedef是一种抽象,不用关心具体类型是什么。 

typedef **** key_t;

------解决方案--------------------


 

热点排行