- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算机实验报告1
电子信息工程学系实验报告 ——适用于计算机课程
课程名称: 数据结构
实验项目名称: 线性表的插入和删除 实验时间:2012-2-22—2012-3-15
班级:计教101 姓名: 傅倩 学号:010701140
实 验 目 的:
熟悉表
实 验 环 境:
xp,win-tc
实 验 内 容 及 过 程:
题目1:
编写程序实现下列的要求:
(1) 设数据元素为整数,实现这样的线性表的顺序存储表示。
(2) 键盘输入10个数据元素,利用顺序表的基本操作,建立该表。
(3) 利用顺序表的基本操作,找出表中的最大的和最小的数据元素(用于比较的数据元素为整数)。
(4) * 若数据元素为学生成绩(含姓名、成绩等字段),重新编程,实现上面的要求。要求尽可能少地修改前面的程序来得到新程序。(这里用于比较的字段为分数)编写程序实现下列的要求:
(1) 设学生成绩表中的数据元素为学生成绩(含姓名、成绩字段),实现这样的线性表的链式存储表示。
(2) 键盘输入若干个数据元素(用特殊数据来标记输入数据的结束),利用链表的基本操作(前插或后插算法),建立学生成绩单链表。
(3) 键盘输入关键字值x,打印出表中所有关键字值=x的结点数据。(用于比较的关键字字段为分数)。
(4) 输入关键字值x,删除表中所有关键字值=x的结点。(用于比较的关键字字段为分数)。
/* 建立顺序表,并找出最大值和最小值*/
#include stdio.h
#include conio.h
#define maxnum 100
struct seqlist
{
int A[maxnum];
int n; /*元素个数*/
};
struct seqlist *creatNULL() /*创建空表*/
{
struct seqlist *L;
L=(struct seqlist *)malloc(sizeof(struct seqlist));
L-n=0;
return L;
}
void creat(struct seqlist *L) /*创建表格*/
{
int i;
printf(input the number of table: );
for(i=0;i10;i++)
{scanf(%d,L-A[i]);L-n++;}
printf(the table is: );
for(i=0;i10;i++)
printf(%5d,L-A[i]);
printf(\n total is: );
printf(n=%d ,L-n);
}
int Max(struct seqlist *L) /*查找最大值*/
{ int maxi=0;
int i;
for(i=1;i=L-n-1;i++)
if(L-A[maxi]L-A[i])
maxi=i;
return L-A[maxi];
}
int Min(struct seqlist *L) /*查找最小值*/
{ int mini=0;
int i;
for(i=1;i=L-n-1;i++)
if(L-A[mini]L-A[i])
mini=i;
return L-A[mini];
}
main()
{ int max,min;
struct seqlist *L;
L=creatNULL();
creat(L);
max=Max(L);
min=Min(L);
printf(\nmax=%d,max);
printf(\nmin=%d,min);
getch();
}
(2)第二题程序:
#include stdio.h
#include conio.h
struct student
{
int num;
int score;
struct student *next;
};
#define NULL 0
struct student *creat() /*创建一个链表*/
{
文档评论(0)