单项链表操作

强烈希望人品大爆发,看着我一直那么正直的份上,考试系统不要发给我链表题啊啊啊。

但还是要了解一些基础的啊,以备万一。

这里只介绍单项链表。

1.链表的概念: 由若干个同一结构类型的"结点"依次串接而成的。

2.链表遍历一般用指针head表示,用来存放链表首结点的地址。链表中每个结点由数据部分和下一个结点的地址部分组成;、每个结点指向下一个结点,链表中的最后一个结点称为表尾。

3.链表的各个结点在内存中可以是不连续存放的。

//通常使用结构的嵌套来定义单向链表结点的数据类型。
struct stud_node{
    int num;            //1
    int name[20];       //2
    int score;        //3
    struct stud_node*next;//4
}
//每一结点均有四个分量组成,第四个分量next是一个结构指针
//动态存储分配,p指向被分配内存空间的起始地址
struct stud_node*p;
p=(struct stude_node*)malloc(sizeof(struct stud_node));
//链表的遍历
ptr=ptr>-next;
//由于各节点在内存中不是连续存放的,不可以使用ptr++来寻找下一个结点。
for(ptr=head;ptr!=NULL;ptr=ptr->next)

//插入结点
ptr2=ptr1>-next;

//删除结点ptr2

ptr1->next=ptr2->next;
free(ptr2);

 

int fun (NODE *h)
{ int sum=0;
  NODE *p;
  p=h->next;
/*************found**************/
  while(p!=NULL)//判断当前结点是否存在
       { if(p->data%2==0)
             sum+=p->data;
/*************found**************/
          p=p->next;//遍历操作,指向下一个结点
       }
  return sum;
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值