当前位置: 首页 > 其他范文 > 其他范文

实验报告模版

作者:0739qq | 发布时间:2021-01-07 01:07:50 收藏本文 下载本文

实习报告 题目:单链表的基本操作 班级:信息管理 2002 级 1 班 姓名:孟凡俊 学号:20020721019 完成日期:2004/3/25 一、需求分析 1 . 问题描述:设计程序,完成对单链表的建立、遍历、插入、删除、逆序等操作。

2 . 目的:通过对单链表的各种操作,建立对链表的知识结构系统,熟悉并掌握链表的 知识。

二、概要设计 1. 单链表的抽象数据定义 ADT Linklist{ 数据对象:D={Linklist,NODE} 数据关系:R={Linklist,NODE} 基本操作:

print(NODE *&head)初始条件:存在一个带头结点的链表 操作结果:遍历链表,从头节点开始 Setup(NODE *&head,int n)初始条件:整型数 n 操作结果:建立一个带头结点的链表 Insert(NODE *&L,int i,int e)初始条件:存在整型数 i,e 操作结果:在链表 L 中,将 e 插入到 i 位置 Delete(NODE *&L,int i,int &e)初始条件:存在整型数 i,形式参数 e 操作结果:将数据 e 删除 Convert(NODE *&L)初始条件:存在链表 L 操作结果:将数组逆序输出 }ADT Linklist;2. 主程序设计 1).主程序模块 void main(){ 初始化; 函数调用; 输出结果; } 2).函数定义模块 实现单链表的操作。

3. 各模块之间的调用关系 主程序模块 函数定义模块 三、设计详细

1、数据类型定义 struct NODE { int data;NODE *next;}; 2、函数声明 void print(NODE *&head);//遍历 void Setup_L(NODE *&head,int n);//建立 void Insert_L(NODE *&L,int i, int e);//插入 void Delete_L(NODE *&L,int i,int &e);//删除 void Convert_L(NODE * &L);//逆序 3、主函数和各函数的定义 #include struct Node {int data;Node *next;};void print(Node *&head);//遍历 int data[6]={ 345,20,62,20,8,9};void setup_L(Node *&head,int n);//生成单链表 void insert_L(Node*head,int n);//插入 void delete_L(Node* &head,int ,int &);//删除 void convert_L(Node * &head);//逆序 void main(){Node *L;setup_L(L,6);print(L);//insert_L(L,7,50);print(L);int x;delete_L(L,0,x);cout<<"x="<next;while(p){ cout<

data<<",";

//输出元素值 p=p->next;//后移指针 } cout<next=NULL;//先建立一个带头接点的单链表 q=head;for(int i=0;idata=data[i];q->next=p;q=p;//插入到表头 } q->next=NULL;} void insert_L(Node *&L,int i,int e){ Node *p=L,*q;int j=0;while(p&&jnext;j++;} if(!p||j>i-1){cout<<"插入值超出范围!"<data=e;q->next=p->next;p->next=q;} void delete_L(Node *&L,int i,int&e){ Node*p=L,*q;int j=0;while(p&&jnext;j++;}

if(!p||j>i-1){ cout<<"删除值超出范围"<next;e=q->data;p->next=q->next;delete q;} void convert_L(Node *&L){ Node *p,*q,*r;p=L->next;q=p->next;p->next=NULL;while(q){ r=q->next;q->next=p;L->next=q;p=q;q=r;} } 四、设计与调试分析 1、应在程序过程中加入对程序的解释说明,使程序的可读性增强。

2、应使程序灵活性增强,可随需要自主输入数据,满足用户的需要。

3、在所给出的参考答案中,在函数删除模块中,没有考虑到删除最后一位的情况,加入 if(p->next->next==NULL){q=p->next;e=q->data;p->next=NULL;delete q;}语句后,最后一位可以删除。

五、用户手册 本程序的操作环境为 VC++,执行文件为“单链表操作.cpp”。

六、测试结果

实验报告模板

J2EE实验报告

实验报告四

《网络技术》,实验报告

财务管理,实验报告

本文标题: 实验报告模版
链接地址:https://www.dawendou.com/fanwen/qitafanwen/362779.html

版权声明:
1.大文斗范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《实验报告模版》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。

重点推荐栏目

关于大文斗范文网 | 在线投稿 | 网站声明 | 联系我们 | 网站帮助 | 投诉与建议 | 人才招聘 | 网站大事记
Copyright © 2004-2025 dawendou.com Inc. All Rights Reserved.大文斗范文网 版权所有