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

实验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); }







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


相关文章:
实验三四 链表的实现和应用.doc
实验三链表的实现和应用 - 江南大学物联网工程学院上机报告 课程名称 班级 数据结构 上机名称 姓名 链表的实现和应 用 上机日期 学号 2016.3.11 上机报告...
实验3链表的实现和应用.doc
实验3链表的实现和应用 - 陕西科技大学实验报告 班级 实验日期 学号 室温 姓
实验三 链表的实现和应用.doc
实验三 链表的实现和应用 - #include<stdio.h> #
实验3 单链表的操作与应用.doc
单链表的基本 基本操作与应用 实验 3 单链表的基本操作与应用 一、实验目的 (
实验三 链表的建立及基本操作方法实现.doc
实验三 链表的建立及基本操作方法实现_电脑基础知识_IT/计算机_专业资料。实验二顺序表的建立及基本操作方法实现实验预备知识: 1.熟练运用指针进行程序设计,掌握结构...
实验三树的实现与应用实验报告.doc
实验三的实现与应用实验报告_IT/计算机_专业资料。中国矿业大学计算机科学与...(一个字符) ,空格字符表示空树 //构造二叉链表表示的二叉树 T char ch; ...
实验三 二叉树的操作及应用.doc
实验三 二叉树的操作及应用 实验课程名: 数据结构与算法 专业班级: 15 计科 ...(3)运行结果分析: 运用链表实现二叉树的建立 9 三、实验小结通过此次学习进一步...
实验3单链表.doc
实验3单链表_化学_自然科学_专业资料。数据结构算法...201610333 实验内容: 建立一个单链表,并实现插入、删除...实验四 单链表及其应用(... 8页 5下载券 ...
实验三 实现单链表的各种运算.doc
实验三 实现单链表的各种运算 - 实验三 实现单链表的各种运算 学号: 班级: 姓名 尹亮 学号:2009131334 班级:09 计算机三班 一、实验目的 了解单链表表的结构...
实验三 链表、栈的基本操作及应用.doc
实验三 链表、栈的基本操作及应用_IT/计算机_专业资料。武夷学院数学与计算机科学系上机实验报告 实验:栈的基本操作及应用一、实验目的 掌握顺序栈的存储结构及其...
实验3 类的应用2.doc
实验3的应用2 - 实验 3 1、 、 this 指针、常量和静态成员和友元
【精品】实验3 列表ADT的双向链表实现_图文.pdf
【精品】实验3 列表ADT的双向链表实现_幼儿读物_幼儿教育_教育专区。【精品】...实验三 循环链表的操作实... 2页 免费 实验三 链表的实现和应用... 暂无...
实验3 指针和链表.doc
实验3 指针和链表 - 实验指针和链表 一.实验目的 ⒈掌握链表的基本结构和关系
数据结构实验三树和图应用.ppt
数据结构 ?实验题目 4.全线索链表应用 实验要求 设计一个全线索二叉链表的应用...2)分别采用深度优先和广度优先遍历实现。 3)尝试插入或删除一条边或一个结点的...
实验3 列表ADT的双向链表实现.doc
实验3 列表 ADT 的双向链表实现目标在这个实验中 使用双向链表实现列表 ADT...第三步:如果在应用程序中引用数据成员 size 和 pos,必须有列表 ADT 的 第三...
数据结构 实验三 单链表.doc
百度文库 专业资料 IT/计算机 计算机软件及应用上传文档支持以下设备:扫二维码下载...实验三 单链表的 C++实现 一、实验目的:掌握单链表的定义及操作的 C++语言实现...
实验3 线性表的链式存储.doc
实验一 数据结构基础实验 实验二 线性表的顺序存储 实验4 栈及栈的应用实验 实验...(3)利用数组初始化带头结点的单链表构造函数实现 输入:已存储数据的数组及数组...
实验3 类的应用.doc
实验3的应用 - 实验 3 1、 、 类的应用 实验目的和要求: 实验目的和要求: (1) 掌握显式使用 this 指针的方法 (2) 掌握静态数据成员的意义使用方法 ...
第3章 链表及其应用_图文.ppt
1 第3章 链表及其应用3章 链表及其应用 ? 3.1 3.2 3.3 3.4 3.5 链表的基本概念 单链表的数据结构 单链表的基本运算实现 循环链表 链表的应用 2 第3...
数据结构实验三.doc
2. 实验内容要求: 设字符型二叉树采用二叉链表作存储结构,编程实现二叉树的如下基本操作: 1. 实验三 二叉树基础算法 1. 实验目的: 掌握树和二叉树的概念、...