下载此文档

数据结构实验报告.doc


文档分类: | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
《数据结构》实验报告
班级: 级专业班姓名: 序号:
实验时间: 2011 年 11 月 7 日指导教师:
实验三:数组和广义表的应用
一、实验目的:
1、了解数组的两种存储方法,掌握稀疏矩阵的压缩存储方法。
2、了解广义表的特点和存储表示方法。
3、利用数组或广义表解决实际问题
二、实验内容:
1、编写程序,模拟猴子选大王的过程,参考程序示例****题三中四(1)。
2、编写程序,查找数组中的鞍点,参考程序示例****题三中四(2)。
3、编写程序,构造一个n阶魔阵。所谓魔阵是这样的一个方阵,它的每一行、每一列和对角线之和均相等,例如3阶魔阵为: 8 1 6
3 5 7
4 9 2
解决方法如下:
(1)、将1放在第一行中间一列;
(2)、从2开始直到n×n为止,各数依次按照下列规则存放:每一个数存放的行比前一个数的行数减1,列数加1;
(3)、如果上一个数的行数为1,则下一个数的行数为n(指最下一行);
(4)、当上一个数的列数为n时,下一个数的列数应为1,行数减1;
(5)、如果按照上面规则确定的位置上已有数,或上一个数是第1行第n列时,则把下一个数放在上一个数的下面。
三、操作步骤:
猴子选大王:
编译代码:
#include<>
typedef int maxix[100];
void main()
{maxix a;
int count,d,i,m,n;
do
{
printf("input n and m");
scanf("%d3",&n);
scanf("%d",&m);
}while(n<=m);
for(i=0;i<n;i++)
a[i]=i+1;
count=0;d=0;
while(d<n)
for(i=0;i<n;i++)
if(a[i]!=0)
{count++;
if(count==m)
{
printf("%3d",a[i]);
a[i]=0;
count=0;
d++;
}
}
}
运行结果:
查找鞍点:
编译代码:
#include<>
#define m 3
#define n 4
void minmax(int a[m][n])
{int i,j,have=0;
int min[m],max[n];
for(i=0;i<m;i++)
{min[i]=a[i][0];
for(j=1;j<n;j++)
if(a[i][j]<min[i]) min[i]=a[i][j];
}
for(j=0;j<n;j++)
{max[j]=a[0][j];
for(i=1;i<m;i++)
if(a[i][j]>max[j]) max[j]=a[i][j];
}
for(i=0;i<m;i++)
for(j=0;j<n;j++)
if(min[i]==max[j])
{
printf("(%d,%d):%d\n",i,j,a[i][j]);
have=1;}
if(!have)
printf("mei you ma an dian \n");
}
void mai

数据结构实验报告 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数9
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mh900965
  • 文件大小174 KB
  • 时间2018-03-18