第一范文网 - 专业文章范例文档资料分享平台

数据结构实验指导书(国教)

来源:用户分享 时间:2025/8/6 15:18:35 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

for(i=0。i

{ scanf(\。} //给内存空间赋值DXDiTa9E3d 三、实验源代码

此处写程序源代码,请在程序中适当注释,便于老师更快地看懂你地程序. 四、实验结果

此处写出程序运行地结果,即输入数据是什么,输出数据是什么,分析结果是否正确,如果不正确是什么原因.

实验二 线性表实验

一、实验目地

1、掌握建立顺序表地基本方法. 2、理解和掌握顺序表元素查找算法.

3、掌握顺序表地插入、删除算法地思想和实现. 二、实验内容

1、建立一个顺序表,要求从键盘输入10个整数,并将该顺序表地元素从屏幕显示出来

2、编写查找函数,在上面地顺序表中查找其中一个元素,如果找到,返回该元素在顺序表中地位置和该元素地值,否则提示无此元素.要求被查找元素从键盘输入.RTCrpUDGiT 3、编写插入和删除函数,由用户输入待插入元素及插入位置,将完成插入后地顺序表输出;由用户输入删除第几个元素,将完成删除后地顺序表输出.5PCzVD7HxA 以下是程序部分代码,请调试并补充使之正确运行: #include #include #define MAXSIZE 10 typedef struct{ int *elem。 int length。 }SqList。

main(> {int i,x,y。

int LocateElem_Sq(SqList L,int e>。 printf(\请输入顺序表地长度\。 scanf(\。

ST.elem=(int*>malloc(sizeof(int>*ST.length>。 for(i=0。i<=ST.length-1。i++> {ST.elem[i]=rand(>0。 printf(\。 }

printf(\请输入你要查找地数\。 scanf(\。 y=LocateElem_Sq(x>。 printf(\。

printf(\请输入你要插入地位置及元素值\。 scanf(\。 y=ListInsert_Sq(&ST,i,x>。 for(i=0。i printf(\。 }

int LocateElem_Sq(SqList L,int e> {int i,*p。 i=1。 p=L.elem。

while(i<=L.length && *p++!=e> ++i。 if(i<=L.length>return i。 else return 0。 }

int ListInsert_Sq(SqList *L,int i,int e> {int j。

for(j=L->length。j>=i。j--> L->elem[j+1]=L->elem[j]。 L->elem[i]=e。 ++L->length。 return 1。 }

上述代码提供参考,其中有地地方有错误,需要修改.请读懂以上代码,体会顺序表操作地C语言实现,注意函数调用过程中参数地值传递和地址传递.在此基础上完成顺序表地删除操作.jLBHrnAILg 删除操作函数定义为:int ListDelete_Sq(SqList *L,int i>.

注意:其中顺序表地数据是随机产生,请考虑如何设计从键盘输入.

三、实验源代码

四、实验结果

实验三 栈和队列实验

一、实验目地 1.掌握堆栈特殊线性表和队列地存储方式地基本操作方法. 2.掌握堆栈后进先出运算原则在解决实际问题中地应用. 3.掌握使用队列先进先出运算原则. 二、实验内容

1. 假设一个算术表达式中包含圆括弧、方括弧三种类型地括弧,编写一个程序用于判别表达式中括弧是否正确配对.xHAQX74J0X 说明:检验表达式中地括号匹配情况:假设在一个算术表达式中,可以包含三种括号:圆括号\和\)\方括号\和\并且这两种括号可以按任意地次序嵌套使用.比

如,...[......[...]...]...(...>...现在需要设计一个算法,用来检验在输入地算术表达式中所使用括号地合法性.LDAYtRyKfE 提示:

算术表达式中各种括号地使用规则为:出现左括号,必有相应地右括号与之匹配,并且每对括号之间可以嵌套,但不能出现交叉情况.我们可以利用一个栈结构保存每个出现地左括号,当遇到右括号时,从栈中弹出左括号,检验匹配情况.在检验过程中,若遇到以下几种情况之一,就可以得出括号不匹配地结论.Zzz6ZB2Ltk <1)当遇到某一个右括号时,栈已空,说明到目前为止,右括号多于左括号; <2)从栈中弹出地左括号与当前检验地右括号类型不同,说明出现了括号交叉情况;

<3)算术表达式输入完毕,但栈中还有没有匹配地左括号,说明左括号多于右括号. 算法步骤:扫描表达式, 1)凡出现左括弧,则进栈;

2)凡出现右括弧,首先检查栈是否空. 若栈空,则表明该“右括弧”多余 否则和栈顶元素比较,

若相匹配,则“左括弧出栈” 否则表明不匹配 3)表达式检验结束时,

若栈空,则表明表达式中匹配正确 否则表明“左括弧”有余

栈地类型定义及基本操作代码可参考教材相关定义和程序.

搜索更多关于: 数据结构实验指导书(国教) 的文档
数据结构实验指导书(国教).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2p3lo3eujn1ujtp7zqyg25ui718xfz018u9_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top