typedef struct elementT{
int data;
struct elementT *next;
}element;
2.头指针的修改
int Insert(element **head)
{
element *Newelem;
Newelem = (element *)malloc(sizeof(element));
if(!Newelem)
return 0;
Newelem ->next = *head;
*head = Newelem;
return 1;
}
3.遍历,在遍历链表时,要检查是否已达到末尾
element *FindSix(element *elem)
{
while(elem)
{
if (elem->data == 6)
return elem;
else
elem = elem->next;
}
return NULL;
}
4.插入和删除,如果要在单链表中删除或插入一个元素,就必须知道指向删除点或插入点前面那个元素的指针才行。
int DeleteElement(element ** head element *deleteme)
{
element *elem = *head;
if (deleteme == *head){ //special case for head
*head = elem->next;
free(deleteme);
return 1;
}
while(elem){
if (elem->next == deleteme){
elem->next = deleteme->next;
free(deleteme);
return 1;
}
elem = elem->next;
}
return 0; //deleteme not found
}