c++ 链表的初学

c++链表和c没啥区别
struct Node{
int id;
Node *next;
}Lnode,*Linklist;

定义了节点

当我们用的时候需要先建立链表:


 Linklist l;
   int x;
   //建立链表
   l=new Lnode;
   Linklist p,q;
   l->next=NULL;
   p=l;
   for(int i=0;i<10;i++){
    Linklist q=new Lnode;
    cin>>x;
    q->id=x;
    p->next=q;
    p=p->next;
   }
   p->next=NULL;

这样就有了链表,现在链表里有10个节点,每个节点里头有个自己的id号


现在我们做个基本操作,比如说找找看id=6的那个节点后面的节点的id

Linklist s;
   s=l->next;
   while(s&&s->id!=6){
    s=s->next;
   }
这样s指向了id=6的节点或者根本没有这样的节点

if(s->id==6){
    s=s->next;
    cout<<s->id<<endl;
   }

其实s->next也不一定有,懒得写了。其他的暂时没想起来啥地方和c不一样,如果题目不要求用链表就用STL最好用啊,明确要求了没办法了再用。

头插和尾插需要注意一下,有的时候用头插有的时候用尾插,然后删除的时候,单链表双链表的也都不一样,画画图的再做总好些。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值