试编写在带头结点的单链表上实现线性表基本运算定位和删除的算法。

欢迎免费使用小程序搜题/刷题/查看解析,提升学历,成考自考报名,论文代写、论文查重请加客服微信skr-web

试编写在带头结点的单链表上实现线性表基本运算定位和删除的算法。

(1)定位 在带头结点的单链表上实现的算法为: int l_ocateLiklis(LinkListhead,Data Type x) //求表head中第一个值等于x的结点的序号,若不存在这种结点,返回结果为O { Node* P=head; //p是工作指针 P=P一>next; //初始时P指向首结点 int i=0; //i代表结点的序号,这里置初值为0 while(p!=NULI&&p一>data!=x) //访问链表 {i++; P=P一>next; } if(P!=NULL) retum i+1; else return 0; } (2)删除 在带头结点的单链表上实现的算法为: void DeleteLinklist(LinkList head,int i) //删除表head的第i个结点 { Node*q; if(i==o)q=head; else q=GetLinklist(head,i一1) //先找待删结点的直接前驱 if(q!==NUI_L&&q一>next!=NULL) //若直接前驱存在且待删结点存在 { p=q一>next; //p指向待删结点 q一>next=P一>next; //移出待删结点 free(P); //释放已移出结点P的空间 } else exit(“找不到要删除的结点"); //结点不存在 }

访客
邮箱
网址

通用的占位符缩略图

人工智能机器人,扫码免费帮你完成工作


  • 自动写文案
  • 自动写小说
  • 马上扫码让Ai帮你完成工作
通用的占位符缩略图

人工智能机器人,扫码免费帮你完成工作

  • 自动写论文
  • 自动写软件
  • 我不是人,但是我比人更聪明,我是强大的Ai
Top