用尾插法生成一个带头结点的单链表 (尾插法程序)
首先,你是C还是C++语言,决定你用malloc函数还是new运算符来动态开辟结点。
其次,要设置指针,p1作为新开辟结点,p2指向尾结点。
每次开辟一个新节点,就让当前尾结点的next域指向新结点,新结点的next置空,然后让p2重新定位到p1位置,新结点作为尾结点。
这是尾插法建表。
再次,如果查找Key值,k ←key;for (p3=head;p3!=p2;p3++)if p3→key == k then ....↓....注意,这里找到结点了,就要先把此结点前驱的尾指针指向此节点的后继,然后free或者delete就可以了,你如果想要具体的源代码,那么请参考C程序设计,第四版,清华大学出版社,谭浩强,习题解答小册上,第十二章结构体和共同体中,关于链表的简单4个操作,或者是C++程序设计,清华大学出版社,谭浩强,第八章面向过程程序设计,习题解答小册上也有C++版本的单链表处理。
如果你要能编译的源代码来交作业,请查阅上述两本书,绝对有。
如果你是为了学好C或者C++,请认真打扎实基本功。
