线性表的链式存储实验二
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
插入算法
template<class Type>int List<Type>::Insert(Type value,int i){ ListNode<Type>*p=Find(i-1); if(p==NULL)return 0; ListNode<Type>*newnode; newnode=GetNode(value,p->link); if(p->link==NULL)last=newnode; p->link=newnode; return 1; }
5
查找算法
template<class Type>ListNode<Type> * List<Type>::Find(int i) { if(i<=-1)return NULL; if(i==0)return first; ListNode<Type>*p=first->link; int j=0; while(p!=NULL&&j<i) {p=p->link;j++;} return p; }
实验2 单链表
1
实验目的
(1) 掌握线性表的链式存储结构; (2) 验证单链表及其基本操作的实现; (3) 进一步掌握数据结构及算法的程序实现 的基本方法。
2
实验内容
(1) 用头插法(或尾插法)建立带头结点的单 链表; (2) 对已建立的单链表实现插入、删除、查 找等基本操作。
3
6
实验报告
实验基础知识回顾 实验目的 实验内容 实验意义 实验结果分析 个人心得
7
ห้องสมุดไป่ตู้
4
删除算法
template<class Type>Type List<Type>::Remove(int i) { ListNode<Type>*p=Find(i-1),*q; if(p==NULL||p->link==NULL)return NULL; q=p->link;p->link=q->link; Type value=q->data; if(q==last)last=p; delete q; return value; }