以下代码在链表创建的基础上实现了对链表数据的插入与删除。
/*
以下这个程序实现了非循环链表的数据的插入与删除。(在vc6.0++中调试通过。)
链表有几个普及知识点:链表包括:数据域、指针域。头指针:指向头节点的指针。头节点:一个没有数据域的节点。尾指点:没有指针域的节点。
ps:对于链表数据的插入一般要借住第三方指针-----尾指针。
删除掉一个链表节点之后,一般要将删除的节点的下一节点与它的前一节点相连,要不进行再次输出的时候会出错的。
*/
# include <stdio.h>
# include <stdlib.h>
# include <malloc.h>
//定义链表数据类型:数据域、指针域。
typedef struct Node
{
int data;//定义数据域
struct Node * pNext;//定义指针域
}* pNODE, NODE; //pNODE 即:struct Node *, NODE 即:struct Node.
//函数声明----用于对链表的测试
pNODE create_list(void); //这个函数实现创建链表的功能,无需参数,返回头指针。
void traverse_list(pNODE); //这个函数通过接收头指针对链表的数据域进行输出。
bool is_empty(pNODE);
int length(pNODE);
void sort_list(pNODE);
bool insert_list(pNODE, int , int );//这个函数用于实现在链表的具体位置的前一位进行数据的插入。
bool delet_list(pNODE, int ,int *);
int main(void)
{
int len;
int pos,val,dval;
bool bol;
pNODE pHead = NULL; //定义一个头指针。
pHead = create_list();
/*if(is_empty(pHead))
printf(