- 35
- 0
- 约5.33千字
- 约 10页
- 2017-11-05 发布于河北
- 举报
《数据结构》实验报告一
题目:单链表的查找、插入与删除 班级:测控0901 学号: 1503090130 姓名:孙涛 日期: 2012.12.08 程序名: cqq1.c 一、上机实验的问题和要求:
单链表的查找、插入与删除。设计算法,实现线性结构上的单链表的产生以及元素的查找、插入与删除。具体实现要求:
从键盘输入20个整数,产生不带表头的单链表,并输入结点值。
从键盘输入1个整数,在单链表中查找该结点的位置。若找到,则显示“找到了”;否则,则显示“找不到”。
从键盘输入2个整数,一个表示欲插入的位置i,另一个表示欲插入的数值x,将x插入在对应位置上,输出单链表所有结点值,观察输出结果。
从键盘输入1个整数,表示欲删除结点的位置,输出单链表所有结点值,观察输出结果。
将单链表中值重复的结点删除,使所得的结果表中个结点值均不相同,输出单链表所有结点值,观察输出结果。
删除其中所有数据值为偶数的结点,输出单链表所有结点值,观察输出结果。
把单链表变成带表头结点的循环链表,输出循环单链表所有结点值,观察输出结果。
(★)将单链表分解成两个单链表A和B,使A链表中含有原链表中序号为奇数的元素,而B链表中含有原链表中序号为偶数的元素,且保持原来的相对顺序,分别输出单链表A和单链表B的所有结点值,观察输出结果。
二、程序设计的基本思想,原理和算法描述:
1、基本操作函数
link * get(link *l, int i); //创建链表
link * ins (link *l, int a,int i) //在链表内插入值
link * find(link *l, int a); //在链表内查找值
link * del(link *l, int i); //在链表内删除值
link * delrepeat( link *l); //在链表内删除重复值
link * deleven(link *l); //删除链表内偶数值
link * rotate(link *l); //形成循环链表
void divide(link *l); //分解成两个链表
coutendl;
2、基本操作
cout请选择您要的操作:;
cout 1、插入;
cout 2、查找;
cout 3、删除;
cout 4、删除重复结点;
cout 5、删除偶数结点;
cout 6、构建循环链表;
cout 7、分解为两个链表;
cout 0、退出;
三、源程序及注释:
#include iostream
using namespace std;
typedef struct node
{
int data;
struct node *next;
}link;
void print1(link *l);
link * get(link *l, int i)
{
link *p;
int j=0;
p=l;
while((ji) (p-next!=NULL))
{
p=p-next;j++;
}
if(j==i)
return p;
else
return NULL;
}
link * ins (link *l, int a,int i)
{
link *p,*s;
p=get(l,i-1);
if(p==NULL)
cout输入有误endl;
else
{
s=(link *)malloc(sizeof(link));
s-data=a;
s-next=p-next;
p-next=s;
}
return l;
}
link * find(link *l, int a)
{
link *p;
int i=0;
int j=0;
p=l;
while(p!=NULL)
{
i++;
if(p-data!=a)
p=p-next;
else
{
cout您查找的数据在第i-1个位置.endl;
j=1;
p=p-next;
}
}
if(j!=1)
cout您查找的数据不在线性表中.endl;
return l;
}
link * del(link *l, int i)
{
link *p,*s;
p=get(l,i-1);
if(p==NULL)
cout输入有误endl;
else
{
s=p-next;
p-next=s-next;
free(s);
}
return l;
}
link * delrepeat( link *l
您可能关注的文档
- 利用支持向量机和人工神经网络填补缺失数据.pdf
- 利用硅藻土-高岭土复合材料涂层来设计烧结硅藻土膜的微孔特性.pdf
- 加强监管与教育,促进抗生素合理应用02-肖永红.pdf
- 化学习题库.doc
- 北京华戎凯威植保产品介绍.ppt
- 北京居民社会焦虑的现状及影响因素.pdf
- 华为路由器 配置IP组播策略路由.pdf
- 华师大(八上)化学式、化学方程式.doc
- 南京化学二模.doc
- 反式脂肪酸背景资料.pdf
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)