您所在位置: 网站首页 / 软件实验.docx / 文档详情
软件实验.docx 立即下载
2025-08-28
约1.2万字
约23页
0
21KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

软件实验.docx

软件实验.docx

预览

免费试读已结束,剩余 18 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

软件实验

第一篇:软件实验《软件技术基础》实验报告实验一:顺序表的操作班级0801210学号2012212982姓名蒲米栈,然后编写进栈和出栈的操作,读取栈顶元素。这里栈有顺序栈和链式栈两种,顺序栈是利用一种动态存储的数组定义,而链式栈是一个无头节点,只是在头部插入和删除元素的单链表。使用顺序栈要先为存储元素的数组申请一个空间,然后编写进栈和出栈取栈顶元素的操作。#include#definen5structstack{intst[n];inttop;};voidpush(structstack*pst,intx){if(pst->top==n-1)printf(“此栈表已满”);pst->top++;pst->st[pst->top]=x;}voidpop(structstack*pt,int*p){if(pt->top==-1)printf(“此栈表为空”);*p=pt->st[pt->top];pt->top--;}voidmain(){structstackT;structstack*t=&T;inta[n];inti;printf(“请输入数组的值:”);for(i=0;iscanf(“%d”,&a[i]);}T.top=-1;for(i=0;ipush(t,a[i]);for(i=0;ipop(t,&a[i]);printf(“%dn”,a[i]);}}四、算法。顺序栈的算法:1、顺序栈的初始化。2、进栈操作3、出栈操作4、取栈顶元素。链式栈的算法:1、进栈操作若栈不满,则在栈顶插入元素x作为新的栈顶。2、出栈操作若栈不空,则删除栈顶的元素,用e返回其值。五、实验心得体会:通过本次实验我学习了栈这种特殊形式的线性表,就是只能从一端进行操作,逻辑和一般的线性表相同,只是元素的操作方式不同。实验五:队列的操作一、实验目的:掌握队列的定义及其运算,了解队列的应用。二、实验内容:1、掌握队列的特点及常见算法。2、队列测试和应用。要求:设计一个主函数对循环队列代码进行测试。测试方法为:依次把数据元素2,4,6,8,10入队,然后出队中的数据元素并在屏幕上显示。三、实验思路:使用队列的时候要创建一个空队列,这里队列可以分为两种存储方式,顺序存储和链式存储,顺序存储顾名思义它的存储数据方式是连续存储的,而链式存储则是不连续的,队头和队尾定义两个指针,通过指针来操作队列。先创建一个含有头结点的空的链队列,建立头结点,在队尾插入结点后建立好队尾指针,判断队列是否为空,然后编写出队列的功能函数。#include#definen5structnobe{intdata[n];intfront;intrear;intlen;};voident(structnobe*rst,intx){if(rst->len==n)printf(“此队列已满”);else{rst->rear=(rst->rear+1)%n;rst->data[rst->rear]=x;}}intout(structnobe*rst){intx;if(rst->len==0)printf(“此队列为空”);else{rst->front=(rst->front+1)%n;x=rst->data[rst->front];}returnx;}首先建立一个结构体包含数据域与指针域,然后编写队列的入队与出队操作,最后编写主函数,在主函数调用入队与出队操作,实现程序的编程。四、算法。队列的算法:1、入队操作。若队列不满,则在队尾插入元素x作为新的队尾。2、出队操作。3、若队列不空,则删除队头元素的值。链队列的算法1、链队列初始化建立一个含有头结点的空的链队列。2、求队列的长度返回队列的元素个数,即队列的长度。3、入队列操作插入元素x作为队列新的队尾元素。4、出队列操作若队列不空,则删除队头元素,用e返回其值。五、实验心得体会:队列和栈一样是一种特殊形式的线性表,队列不同与栈的是它可以在一端插入,另一端删除。实验六:二叉树的生成与遍历一、实验目的:1、熟悉二叉树节点的定义和生成方式;2、熟悉二叉树链式结构的生成方式;3、掌握二叉树遍历算法的实现。二、实验内容:1.设计实现二叉树的建立及遍历算法,要求:(1)编写创建二叉链式存储结构的二叉树程序并输出。(2)编写递归实现二叉树的先序、中序、后序遍历算法。(3)编写主函数测试以上二叉树的创建和遍历函数。2.假设二叉树采用链式存储结构进行存储,编写程序实现二叉树的所有叶子结点的统计并输出统计个数。三、实验思路:首先建立一个结构体包含数据域,左右子树的指针三个数据元素,这里左子树和右子树分别为某一结点指向其左子树和右子树的指针。对于叶子结点或者新生成的结点,它的左子树和右子树的指针都是空值。定义二叉树结构体变量,然后编写二叉树的输入和先序、中序
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

软件实验

文档大小:21KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用