1.4 单链表的其他结构

1  循环链表-线性表的另一种存储结构

    特点:从表的任何一个位置出发,都可以找到其他节点

   操作与单链表的差别;

    判断表尾部的区别:p->next =H

2.双向链表

每一个结点有两个指针域,一个指向直接前驱,另一个指向直接后继。

3.双向循环链表

 基本操作:在第i个结点前边插入一个新的元素e,在单链表中,在某一个结点之前要插入一个新的元素,后边的域没有指向前边。

双向链表:

status ListInsert_Dul(DuLinkList &L,int I,ElemType e)
{
  //在带有头结点的双向链表中的第i个位置插入元素e
  j=0;p=L;
  while(j<i-1 && P){p=p->next;j++}
  if(!p)return ERROR;    //表的长度小于i
  s =(DuLinkList)malloc(sizeof(ElemType));
  if(!s)   exit(OVERFLOW)  //空间不够,溢出
  s->data = e;s - >next = p->next; s->prior = p;
  p->next->prior =s ;p->next =s; 
  return OK;
}

4  线性表的其他结构--多项式运算

   一元多项式的形式

  一元多项式的运算

  抽象数据类型一元多项式的定义 ;

  ADT=(D,R,T)  Data,R,P基本操作

例:多项式的链表建立

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值