单链表定义时要声明一个头结点,但是这个头结点的data域是不使用的,只用其next域,那么这个头结点和一个普通指针有何区别?浪费了一个data域的空间?
我的想法是直接用一个指针作为头结点,原先的头结点作为存储数据的第一个单元。
头结点定义:
LinkList h;
这个h所指向的是头结点,按照书本和老师讲的规定是不储存数据,就用到一个next域,现在,我让这个data域也起作用,储存数据,h这个指针本身作为头结点。
当头结点空时
原:h->next=NULL;
现:h=NULL;
插入数据时,
原:
p=(LNode*)malloc(sizeof(LNode)); p->data=e;h->next=p;
现:
p=(LNode*)malloc(sizeof(LNode)); p->data=e;h=p;
其他操作以此类推。
我想问一下我这个想法有没有问题,想搞清楚,问了老师也没怎么说清楚,求解。
慕神8447489