logo资料库

广大实验报告.doc

第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
资料共21页,剩余部分请下载后查看
广州大学学生实验报告 开课学院及实验室:计算机学院,电子信息楼416B 室 2014年 5 月8日 学院 计算机科学 与教育软件 学院 年级、专 业、班 计机126 姓名 黄俊能 学号 1206100184 实验课程名 称 实验项目名 称 数据结构 实验一 链式存储结构的基本操作 成绩 指导 老师 张艳玲
一、实验目的 掌握单链表,链式堆栈,链式队列的定义及基本操作。 二、使用仪器、器材 微机一台 操作系统:WinXP 编程软件:C++ 三、实验内容及原理 1、线性表的链表实现:插入、删除、翻转: 用 带表头的链表存放输入的数据,每读入一个数,按升序顺序插入到链表中,链 表中允许两个结点有相同值。链表的头结点存放链表后面的结点个数,初始化时 就生成 头结点(初值为0)。链表翻转是把数据逆序(变成降序),注意,头结点 不动。翻转后要再翻转一次,恢复升序后才能插入新元素,否则会出错。 2、链式堆栈的实现: 先 定义堆栈的几个基本操作,再设计一主函数利用堆的操作完成以下功能:假设 一个算术表达式中可以包含三种括号:()[]{},且这三种括号可以按任意次序嵌 套使用(如:...[...{...}...[...]...]...(...))。编写判别给定表达式中所含 括号是否正确配对出现的算法,已知表达式已 存入数据元素为字符的单链表中。 3、链式队列的基本操作: 先 定义队列的几个基本操作,再设计一主函数利用队列的操作完成以下功能:键 盘输入的字符可以临时存入键盘的缓冲区中。为了充分利用缓冲区的空间,往往 将缓冲 区设计成链式循环队列的结构,并为循环队列结构的缓冲区设置一个队首 指针和一个队尾指针。每输入一个字符到缓冲区中,就将尾指针后移,链入缓冲
区的循环队 列之中;每输出一个字符号,就将队头指针前移,将它从缓冲队列中 删除。假设有两个进程同时存在于一个应用程序中,第一个进程连续在屏幕上显 示字符“X”, 第二个进程不断检查键盘上是否有输入,若有则读入用户键入的 字符,将其保存到键盘缓冲区中。
四、实验过程原始数据记录 1、线性表的链表实现:插入、删除、翻转 #include #include using namespace std; typedef struct node { int data; struct node *link; }LNode, *LinkList; LinkList insert(LinkList &list) 素 { int item, n; //新建一个链表或插入新元 LinkList p,q,w; //list 第一个结点指针 cout << "你想插入多少个数据:n="; cin >> n; for (int i = 0; idata << ' '; q = q->link; cout << "\n 头结点后面的结点数 n=" << n; return (n); void main() //主函数
分享到:
收藏