// 变量
typedef struct node
{
int value;
struct node *next;
}mynode;
// 全局变量(虽然不是必需的)。
mynode *head, *tail, *temp;
// 职能
void add(int value);
// 添加新节点到链表的函数
void add(int value)
{
temp = (mynode *) malloc(sizeof(struct node));
temp->next=(mynode *)0;
temp->value=value;
if(head==(mynode *)0)
{
head=temp;
tail=temp;
}
else
{
tail->next=temp;
tail=temp;
}
}
// main() 函数
int main()
{
head=(mynode *)0;
// Construct the linked list.
add(1);
add(2);
add(3);
return(0);
}
如果我只有一个指向节点的指针,其值为 3(上述代码中看到的最后一个节点),我们可以删除它并让一个值为 2 的节点(上述代码)作为最后一个节点。