- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件技术基础
实验指导书
2014年9月1日目 录
实验一实验一Long Fib-rec(int n)
{
if(n==0||n==1)return(1);
else return(Fib-rec(n-1) + Fib-rec(n-2) );
}
long Fib-ite(int n)
{
long fib1,fib2,fib;
int i;
fib1=1;
fib2=1;
for (i=3;i=n,i + + )
{fib=fib1+fib2;
fib1=fib2;
fib2=fib;
}
return fib;
}
void main ( )
{
clock-t us1, us2;
int n;
printf(“请输入n:\n”);
scanf(“%d,n);
us1=clock( );
printf(“递归函数计算结果:%1d\n”,Fib-rec(n) );
us2=clock( );
printf(“递归函数执行时间%1d毫秒\n”,us2-us1);
us1=clock( );
printf(“非递归函数计算结果:%1d\n”,Fib-ite(n) );
us2=clock( );
printf(非递归函数执行时间%1d毫秒\n”,us2-us1);
}
实验二 顺序表的实现与应用
实验目的:
掌握线性表的概念。
熟练掌握线性表的顺序存储结构。
熟练掌握线性表在顺序存储结构上的运算。
了解测试的思想。
实验环境(硬/软件要求):
Windows 2000,Visual C++6.0
实验内容:
编写算法实现顺序表中元素的逆置。要求按用户输入的数据建立一个顺序表。在逆置的过程中使用最少的辅助存储单元。
测试数据为:10,9,8,7,6,5,4,3,2,1。
编写算法,在非递减有序的顺序表中,插入一个给定的元素,插入后该顺序表仍然递增有序。
有序表中的数据为:12,16,24,33,45,66,68,89;需要进行测试的插入数据分别是:9,13,25,33,88,91
实验要求:
完成顺序表的结构定义。
完成顺序表的就地逆置函数和主函数。
完成在非递减有序表中的插入数据的函数和主函数。
【C语言源程序】
#include stdio.h
#define maxsize 1024
typedef int datatype;/*datatype可为任何类型,这里假设为int*/
/*线性表可能的最大长度,这里假设为1024*/
typedef struct
{ datatype data[maxsize];
Int length;
} sequenlist;
void setNull(sequenlist *L) /*顺序表的就地逆置*/
{ L-length=0; }
void reverse(sequenlist *L)
{ int i,j;
datatype t;
for(i=0,j=L-length-1;ij;i++,j--)
{ t=L-data[i];L-data[i]=L-data[j];L-data[j]=t; }
}
void insert(sequenlist *L,int x) /*x插入到递增有序的顺序表L中*/
{ int i,k;
i=0;
while((i=L-length-1)(x=L-data[i])) i++;/*找正确的插入位置*/
for(k=L-length-1;k=i;k- -) L-data[k+1]=L-data[k];
/*元素从后往前依次后移*/
L-data[i]=x;/*x插入到正确的位置*/
L-length ++;
}
void main( )
{ sequenlist L1,L2;
int i,x;
datatype data;
/*测试顺序表的逆置函数*/
文档评论(0)