1.c语言对一个整数链表的类型声明:
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

}



posted on 2007-04-06 10:16  左左右右  阅读(376)  评论(0)    收藏  举报