ImageVerifierCode 换一换
格式:DOCX , 页数:63 ,大小:117.17KB ,
资源ID:2988335      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2988335.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验报告.docx

1、实验报告数 据 结 构实验报告班级学号: 姓名: 数 据 结 构实验报告学院:信息科学与技术学院 专业:软件技术专业 学期:20102011学年第二学期 班级: 学号: 姓名: 实验1 函数、指针、结构体复习院(系):信息科学与技术学院 课程名称:数据结构 教师签名:班级学号实验室专业姓名计算机号实验名称所用软件实验成绩1.1 实验目的 1掌握C语言的语法并由算法形成相应的程序。2熟练掌握C语言函数调用的相关知识点。3熟练掌握C语言的指针和结构体相关知识点。4理解数据结构的基本概念。1.2 实验准备1复习C语言的函数调用、指针、结构体的相关知识点。2算法的概念和算法分析等知识。3C语言程序设计

2、有关函数及数组等的知识及编程环境的使用方法。4复习课堂讲解的理论内容。1.3 实验任务1在提示/*blank*/下面填写合适的内容完成程序设计。编写一个程序,判断一个字符串是否为“回文”(顺序和倒读都一样的字符串称为“回文”),并分析算法的时间复杂度。提示:实现本程序需要设计两个函数。主函数main,数据的输入和输出在该函数中完成。自定义函数func,判断串s是否为回文。采用的方法是:用flag表示是否为回文。用i从左向右扫描字符串s,用j从右向左扫描字符串s,若si与sj不相等,则flag=0(表示不是回文)并退出循环,否则,继续比较直到ij不成立。/*判断指定字符串是否回文*/#inclu

3、de int func(char *str)int i,j,t,flag; t=strlen(str); for(i=0,j=t-1;i=t/2) flag=1; return flag;void main()/*blank*/_; /*填空位置1:变量定义*/_; /*填空位置2:从键盘输入需要判定的字符串*/_; /*填空位置3:调用func函数*/_; /*填空位置4:根据返回值flag的值,输出判定结果*/该算法的时间复杂度是:_。2定义函数int f(char *x, char y)判断x所指的字符串是否包含字符y,若是则函数返回1,否则返回0。写出完整的源程序代码。#include

4、 #include int f(char *x,char y) /*写出自定义函数f的函数体部分,实现函数功能*/void main() char *str,ch; int t; gets(str); scanf(%c,&ch); t=f(str,ch); printf(t=%dn,t);3用结构体类型编写一个程序,输入一个学生的学号、姓名及3门课的成绩,计算并输出其平均成绩。写出完整的源程序代码。#include struct student int id; char name10; float score3;s;main() /*写出main函数的函数体部分,实现函数功能*/实验2 线性表

5、院(系):信息科学与技术学院 课程名称:数据结构 教师签名:班级学号实验室专业姓名计算机号实验名称所用软件实验成绩2.1 实验目的1掌握顺序表的基本特点。2熟练掌握顺序表的建立、查找、插入和删除等操作。3掌握单链表的基本特点。4熟练掌握单链表的建立、插入、删除等基本操作。5理解循环链表、双向链表的含义及其特点。6了解循环链表、双向链表的基本操作。2.2 实验准备 1线性表顺序存储结构的表示。2顺序表的基本操作:顺序表的建立、查找、插入、删除。3线性表链式存储结构的表示。4链表的基本操作:链表的建立、查找、插入、删除。2.3 实验任务1实现顺序表的各种基本操作。(1)源程序代码。#include

6、 #define Maxsize 100typedef int datatype;typedef struct seqnode /*顺序表的类型定义*/ datatype listMaxsize; /*定义一个存放顺序表的一维数组list*/ int len; /*定义线性表的实际长度*/seqlist;void create(seqlist *L) /*建立一个顺序存储的线性表*/ int i; printf(Please input the len of the seqlist:); /*从键盘输入当前顺序表的实际长度*/ scanf(%d,&(*L).len); printf(Pleas

7、e input the every element of the seqlist:); for(i=0;i(*L).len;i+) /*从键盘输入顺序表的每个元素*/ scanf(%d,&(*L).listi); printf(Output the every element of the seqlist:n); for(i=0;i(*L).len;i+) /*顺序表建立成功后,输出整个顺序表*/ printf(%5d,(*L).listi); /*运行结果(1)*/ printf(n);void access(seqlist *L,int i) /*根据指定位置访问线性表*/ if(i(*L

8、).len-1) /*判断给定位置是否为合法取值*/ printf(The place is not correct!n); else printf(%dn,(*L).listi); /*运行结果(2)*/void before_after(seqlist *L,int i) /*根据指定位置寻找其前趋元素和后继元素*/ if(i(*L).len-1) printf(The place is not correct!n); else if(i=0) printf(%dn,(*L).listi+1); else if(i=(*L).len-1) printf(%dn,(*L).listi-1);

9、 else if(i0)&(i(*L).len-1) printf(%d,%dn,(*L).listi-1,(*L).listi+1); /*运行结果(3)*/void search(seqlist *L,int key) /*根据给定元素key查找顺序表*/ int m; for(m=0;m=(*L).len) printf(The seqlist has no the key!n); /*运行结果(4)*/void delete(seqlist *L,int i) /*删除顺序表的元素*/ int m; printf(Output the every element of the seql

10、ist before deleting:n); /*删除前输出顺序表中的所有元素*/ for(m=0;m(*L).len;m+) printf(%5d,(*L).listm); /*运行结果(5)*/ printf(n); for(m=i;m(*L).len;m+) /*删除位置之后的所有元素依次左移一位*/ (*L).listm=(*L).listm+1; (*L).len-; printf(Output the every element of the seqlist after deleting:n); /*删除后输出顺序表中的所有元素*/ for(m=0;m(*L).len;m+) p

11、rintf(%5d,(*L).listm); /*运行结果(6)*/ printf(n);void insert(seqlist *L,int i,int e) /*在顺序表指定位置i后插入元素e*/ int m; printf(Output the every element of the seqlist before inserting:n); /*插入前输出顺序表中的所有元素*/ for(m=0;m=i;m-) /*插入位置之后的元素依次右移一位*/ (*L).listm+1=(*L).listm; (*L).listi=e; /*在指定位置i上插入元素e*/ printf(Output the every element of the seqlist after inserting:n); /*插入后输出顺序表中的所有元素*/ for(m=0;m(*L).len;m+) printf(%5d,(*L).listm); /*运行结果(8)*/ printf(n);void main() static seqlist *L; int i,e; printf(n-function:create-n); create(L); /*调用函数create建立一个顺序表*/ printf(n-function:access-

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1