c语言之单链表

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

}



转载于:https://www.cnblogs.com/sideandside/archive/2007/04/06/702357.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值