数据结构单链表的插入和删除实验报告_第1页
数据结构单链表的插入和删除实验报告_第2页
数据结构单链表的插入和删除实验报告_第3页
数据结构单链表的插入和删除实验报告_第4页
数据结构单链表的插入和删除实验报告_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、自学考试计算机系列课程实践性环节实验报告本课程名称实验学期数据结构2010至2011 学年第2学期年级大三专业通信工程学生姓名陈榕学号030409301749指导教师涂风华实验最终成绩重庆大学计算机学院制实验名称单链表的插入和删除实验时间2011年5月13号实验地点主楼第一软件实验室课堂成绩报告成绩最终成绩一、实验目的熟悉vb6.0操作,要求单链表的数据域是字符串,且不允许重复的串插入表中;删除操作 是数据输入的字符串,先找到相应的接点,后删除。第 1 页、实验步骤(或程序)#defineTRUE 1#defineFALSE 0#defineOK 1#defineERROR 0#defineI

2、NFEASIBLE -1#defineOVERFLOW -2#defineLIST_INIT_SIZE 10#defineLIST_INCREMENT 2#defineStatus int#include<stdio.h>#include<stdlib.h>#include<time.h>typedefint ElemType;typedefstruct LNodeElemType data; struct LNode *next;LNode,*LinkList;Status InitLinkList(LinkList& L)/ 初始化链表L = (

3、LinkList)malloc( sizeof (LNode);L->next = NULL; return OK;int len)/向链表中随机填充数据sizeof (LNode);Status FillLinkList(LinkList& L,srand(time(NULL);LinkList p;for (int i = len;i > 0; i-) p = (LinkList)malloc( p->data = rand()%100; p->next = L->next; L->next = p;return OK;Status Ascend

4、(LinkList& L,int len)/ 非递减排序LinkList q;ElemType temp;for (int j = 0; j < len-1; j+) q = L->next;for (int k = 0; k < len-1; k+)if (q->data > q->next->data)temp = q->data; q->data = q->next->data; q->next->data = temp;q = q->next; return OK;/向链表中插入某个元素Stat

5、us LinkListlnsert(LinkList &L,int i,ElemType e)LinkList p,s;p = L;int j = 0;while (p && j < i-1)p = p->next; j+;if (!p | j > i-1)return ERROR;s = (LinkList)malloc( sizeof (LNode);s->data = e;s->next = p->next;p->next = s; return OK;/删除链表中的某个元素Status LinkListDelete(Li

6、nkList &L,int i,ElemType &e)LinkList p,q;p = L;int j = 0;while (p->next && j < i-1)p = p->next;j+;if (!(p->next) | j > i-1) return ERROR;q = p->next; p->next = q->next; e = q->data;free(q); return OK;第 3 页int LinkListLocate(LinkList &L,ElemType e) 置,否则返

7、回LinkList p;int j = 1;p = L_>next;while (p && p->data != e)p = p->next; j+;if (p && p->data = e) return j;else return 0;void PrintLinkList(LinkList &L,int len)LinkList p = L->next;for (int i = 0;i < len; i+)printf( "%dt" ,p->data); p = p->next;pu

8、tchar( 'n');/在单链表L中查找值为e的结点,找到后返回其位/打印链表Status DestroyLinkList(LinkList& L,int len)LinkList p,q;p = L;while (p->next)q = p->next;p->next = q->next; free(q);free(L);return OK;/销毁链表Lvoid main()LinkList La; ElemType e; int pos,Len_La;第 5 页/*/*puts( "*以下为第题程序*");/确定La的长

9、度printf( "La 的长度为:"); scanf( "%d",&Len_La);/初始化Laif (InitLinkList(La)printf("初始化 La成功!n");system( "PAUSE');putchar( 'n');/向La中随机添加元素并且非递减排序if (FillLinkList(La,Len_La) && Ascend(La,Len_La)printf("向La中随机添加元素并且非递减排序成功!n");elseputs(&qu

10、ot;向La中添加元素失败!");system( "PAUSE');putchar( 'n');/打印添加元素后的Laprintf("添加元素后的La为:n");PrintLinkList(La,Len_La);system( "PAUSE');putchar( 'n');/在La中第i个元素之前插入一个新结点 printf("请输入要插入新节点的位置:");scanf( "%d",&pos);printf("请输入要插入新节点的值:&qu

11、ot;); scanf( "%d",&e);if (LinkListInsert(La,pos,e)printf("插入新节点成功!n");Len_La+;elseputs("插入新节点失败!");system( "PAUSE'); putchar( 'n');/打印插入新节点后的Laprintf("插入新节点后的La为:n");PrintLinkList(La,Len_La); system( "PAUSE');putchar( 'n')

12、;/删除La中的第i个元素结点printf("请输入要删除节点的位置:");scanf( "%d",&pos);if (LinkListDelete(La,pos,e)printf("删除第个元素成功!n" ,pos,e); Len_La-;elseputs("删除失败!");system( "PAUSE');putchar( 'n');/打印删除后的Laprintf("删除节点后的La为:n");PrintLinkList(La,Len_La);sys

13、tem( "PAUSE');putchar( 'n');/在La中查找某结点并返回其位置 printf("请输入要查找的节点的值:");scanf( "%d",&e);pos = LinkListLocate(La,e);if (pos)printf("值为啲节点的位置是:dn" ,e,pos); elseputs("查找的节点不存在!");system( "PAUSE'); putchar( 'n');三实验结果第 7 页c * C: DoenjBeirit s and Sett ings 11面V.Si"建玄件Dftbug5- exe卄八F艾弟1葩桎序* 总的壬度为;36 嗫心成功I 青採任意犍储纟応.忝加厂素后旳站対:L362427319C9G7597739774G901549024909、曹功适入人威魅赛点犍養昔意is按21:2WI3第 8 页第 # 页入新节点后前"为:3269LJ3977

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论