数据结构 单链表 创建 打印 删除 插入 查询 实验报告

来源:百度知道 编辑:UC知道 时间:2024/07/07 16:59:42
《数据结构》设计型实验报告格式
一实验目的
利用数据结构和C语言所学的相关知识,实现单链表的创建、插入、删除、打印和查询功能。功能上要以菜单选项形式体现出来,可以与用户良好的交互。通过本次设计型实验对前面所学的知识做一总结与回顾。
二实验内容
 单链表的创建(结点结构要求至少两个数据域:学号、姓名)
 单链表的打印
 单链表的插入
 单链表的删除
 单链表的查询
三实验步骤
 程序设计规划(实现的功能、分几个模块、子函数)
 编写单链表创建子函数
 编写单链表打印子函数
 编写单链表插入子函数
 编写单链表删除子函数
 编写单链表查询子函数
 编写主函数Main(),通过功能菜单调用子函数
 编译调试程序
四重点难点
在系统开发中遇到的问题,如何解决的,越具体越好。也可以分析一些重要的源代码。
五系统评价
系统自我评价,实现了哪些功能,是否能正常运行,哪些是自己做的。自己给自己打多少分。
基本功能实现:60分;查询功能实现:80分;良好的用户操作性:90分;自己设计的创新功能:100分。根据不同的代码风格、简洁程度、变量命名规范酌情增减分数。
六心得体会
在完成这次2个学时的设计型实验的过程中,有什么收获、心得和体会,用自己的话说。

1.c++编的
#include <iostream>
using namespace std;

typedef struct node
{
char data;
struct node *next;
}link;

link * get(link *l, int i)
{
link *p;int j=0;
p=l;
while((j<i) && (p->next!=NULL))
{p=p->next;j++;}
if(j==i)
return p;
else
return NULL;
}

link * ins (link *l, char ch,int i)
{ link *p,*s;
p=get(l,i-1);
if(p==NULL)
cout<<"输入有误"<<endl;
else
{
s=(link *)malloc(sizeof(link));
s->data=ch;
s->next=p->next;
p->next=s;
}
return l;
}

link * find(link *l, char ch)
{
link *p; int i=0; int j=0;
p=l;

while(p!=NULL)
{ i++;
if(p->data!=ch)
p=p->next;
else {cout<<"您查找的数据在第"<<i-1<<"个位置."<<endl;
j=1;p=p->next;
}<