当前位置:首页 >> 数学 >>

实验3链表的实现和应用


陕西科技大学实验报告
班级 实验日期 学号 室温 姓名 实验组别 报告 日期 成绩

报告内容:(目的和要求、原理、步骤、数据、计算、小结等) 实验名称:链表的实现和应用 实验目的: 1. 掌握链表的概念。 2. 熟练掌握链表的链试存储结构。 3. 熟练掌握链表在链试存储结构上的运算。 4. 了解测试的思想。 实验环境:(硬/软件要求): Windows 2000,Visual C++ 6.0 实验原理: 链表是通过每个结点的指针域将线性表的 n 个结点按其逻辑顺序链接在一起。由于链表 的每个结点只有一个指针域,故将这种链表有又称为单联表。

链表的结点结构 ┌───┬───┐ │data │next │ └───┴───┘ data 域--存放结点值的数据域 next 域--存放结点的直接后继的地址(位置)的指针域(链域)

实验内容: 1. 编写算法,根据用户输入的字符数据用尾插法创建一个带头结点的单链表,“#”作为输 入数据的结束符。 测试数据共有 4 组,分别是:1)“#”;2)“a#”;3)“ab#”;4)“abcd#”。 2. 编写算法,实现在带有头结点的单链表中按序号查找的函数。 假设单链表中包含 6 个元素数据,测试数据是:1)查找第 0 个;2)查找第 1 个;3)查 找的 2 个;4)查找第 6 个;5)查找第 7 个。 实验要求: 1. 完成链表存储结构的类型设计。 2. 完成链表带头结点尾插法函数。 3. 完成按序号查找函数。


4. 编写主函数完成实验要求。 C 语言源程序 #include<stdio.h> #include<stdlib.h> typedef char datatype; typedef struct node { datatype data; struct node *next; } linklist; linklist *createlist() { char ch; linklist *head,*s,*r; head=(linklist*)malloc(sizeof(linklist)); r=head; printf("请输入字符产生链表,以#结束\n"); ch=getchar(); while(ch!='#') { s=(linklist*)malloc(sizeof(linklist)); s->data=ch; r->next=s; r=s; ch=getchar(); } r->next=NULL; return head; } linklist*get(linklist*head,int i) { int j; linklist*p; p=head;j=0; while((p->next!=NULL)&&(j<i)) {




p=p->next; j ++; } if(i==j)return p; else return NULL; } void main() { linklist*head,*r; int num; head=createlist(); printf("链表信息为:"); r=head->next; while(r) { printf("%c",r->data); r=r->next; } printf("\n"); printf("请输入要查询的序号:\n"); scanf("%d",&num); r=get(head,num); if(r==NULL) printf("没有查到\n"); printf("查找的结果为:%c\n",r->data); }







实验小结:链表是一种物理存储单元上非连续、 非顺序的存储结构, 数据元素的逻辑顺序是通过
链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在 运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点 地址的指针域


赞助商链接
相关文章:
实验三 链表的建立及基本操作方法实现
实验三 链表的建立及基本操作方法实现_电脑基础知识_IT/计算机_专业资料。实验二顺序表的建立及基本操作方法实现实验预备知识: 1.熟练运用指针进行程序设计,掌握结构...
实验三 创建单链表
实验三 创建单链表_计算机软件及应用_IT/计算机_专业资料。实验二 创建单链表 ...2.11) 、尾插法建单链表、 输出单链表中的元素、销毁单链表等操作的实现。 ...
实验三 二叉树的操作及应用
实验三 二叉树的操作及应用 实验课程名: 数据结构与算法 专业班级: 15 计科 ...(3)运行结果分析: 运用链表实现二叉树的建立 9 三、实验小结通过此次学习进一步...
实验三——二叉链表实现二叉树
实验三——二叉链表实现二叉树_计算机软件及应用_IT/计算机_专业资料。北邮数据结构实验 二叉树 北京邮电大学信息与通信工程学院 数据结构实验报告实验名称: 学生姓名...
实验报告3-单链表
实验报告3-单链表 - 实验报告-3 课程名__ 实姓 数据结构 实验名称_单链表的简单操作实现 实验报告日期年月日 验日期年月日名___学号___...
实验3 单链表的操作与应用
单链表的基本 基本操作与应用 实验 3 单链表的基本操作与应用一、实验目的 (1) 通过实验,进一步培养学生利用 C 语言进行编程和调试程序的能力,使学生能够利用 C...
实验三、链表验证实验报告
班级:计算机 11-1 学号: 姓名: 成绩:___ 实验三 单链表操作验证一、实验目的⑴ 掌握线性表的链接存储结构; ⑵ 验证单链表及其基本操作的实现; ⑶ 进一步掌握...
实验3单链表
实验3单链表_化学_自然科学_专业资料。数据结构算法...201610333 实验内容: 建立一个单链表,并实现插入、删除...实验四 单链表及其应用(... 8页 5下载券 ©...
数据结构实验报告三线性表的链式存储
实验报告三班级: 2010XXX 线性表的链式存储专业: XXXX 姓名: HoogLe 学号: 2010XXXX 2858505197@qq.com 一、 实验目的: (1) 掌握单链表的基本操作的实现方法。...
3数据结构实验3链表
3数据结构实验3链表_化学_自然科学_专业资料。实验报告院(系) :信息科学与技术学院 班级 专业 实验 名称 所用 软件 实验目的实验准备信 A1321 信息管理与信息...
更多相关标签: