小弟我觉得书上的链表中结构体变量设计好复杂,有和小弟我同感的吗
我觉得书上的链表中结构体变量设计好复杂,有和我同感的吗?比如说,#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及其相关结构维护函数即可。
[解决办法]//c++定义链表节点的方式
template <typename T>
struct ListNode
{
T _data;
ListNode* next;
};
[解决办法]觉得复杂的话,自己画图方便来理解。
然后自己去实现,写自己的node
[解决办法]typedef是一种抽象,不用关心具体类型是什么。
typedef **** key_t;
------解决方案--------------------