sdut-(图灵)————链表

  一般我们对于链表来说我们以结构体的形式进行更新和表述,通常链表的使用十分的复杂,所以对于一般的链表我们要注意他的内存处理和操作问题,简单的谈一下我的理解

 1.在c++和c语言中我们进行简化变量的操作是:

typedef struct node

{
  int date//记录每一个值
  node *ne;  
}node;

2.在C语言中我们给指针分配链表的形式有:

*malloc(unsigned int size)//随机分配
*calloc(unsigned int n,unsigned int size)//类同
*realloc(void*p_block,unsigned int size)//重新分配

 3.我们建造列表的形式是以吃串串的方式进行建造的,例如下图部分:

头结点的是位于开头的部分,起到一个小旗子的作用,他的作用是引领着 整个数组,后面依次进行date的数据储存和ne数组进行指向,可以说ne是整个数组的灵魂他串联着前后

4.逆序建造列表

node *head,*p;//逆序建造列表比较直接,但是操作是简单的
head=(node*)malloc(sizeof(node));//给head开辟空间,head指的是头节点
head->ne=NULL;
//—————————————————————————————————————————————————————————————————————————————————————————
p=(node*)malloc(sizeof(node));
scanf("%d",&p->Date);
p->ne=head->ne;
head->ne=p;

 序号代表步骤;

5.顺序建造列表

node *head,*tail,*p;
head=(node*)malloc(sizeof(node));
head->ne=NULL;
tail=(node*)malloc(sizeof(node));
tail=head;
//__________________________________________________________________
p=(node*)malloc(sizeof(node));
scanf("%d",&p->date);
tail->next=p;
tail=p;

 顺序是开了三个位置:头,尾,和一个游动的指针。我们通过三个保证了头的不变,尾部的后移,可以侧面的看成尾结点的逆向。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值