- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构实验题
PAGE 25
实验1(C语言补充实验)
有顺序表A和B,其元素值均按从小到大的升序排列,要求将它们合并成一个顺序表C,且C的元素也是从小到大的升序排列。
#includestdio.h
main()
{
int n,m,i=0,j=0,k=0,a[5],b[5],c[10];/*必须设个m做为数组的输入的计数器,不能用i,不然进行到while时i直接为5*/
for(m=0;m=4;m++) scanf(%d,a[m]);//输入数组a
for(m=0;m=4;m++) scanf(%d,b[m]);//输入数组b
while(i5j5)
{if(a[i]b[j]){c[k]=a[i];k++;i++;}
else if(a[i]b[j]){c[k]=b[j];k++;j++;}
else{c[k]=a[i];k++;i++;j++;} //使输入的两组数组中相同的数只输出一个
}
if(i5)
for(n=i;n5;n++)
{c[k]=a[n];k++;}
else if(j5)
for(n=j;n5;n++)
{c[k]=b[n];k++;}
for(i=0;ik;i++)
printf(%3d,c[i]);
printf(\n);
}
求A∩B
#includestdio.h
main()
{
int i,j,k=0,a[5],b[5],c[5]; //A=a[5],B=b[5],A∩B=c[5]
for(i=0;i5;i++) scanf(%d,a[i]);//输入a数组
for(i=0;i5;i++) scanf(%d,b[i]);//输入b数组
for(i=0;i5;i++)
{for(j=0;j5;j++)
if(a[i]==b[j]){c[k]=a[i];k++;}//当有元素重复时,只取一个放入c中
}
for(i=0;ik;i++)
printf(%3d,c[i]);
printf(\n);
}
实验2(C语言补充实验)
已知一个有序整型数组,编程将一个整型数m插入到该数组中,使得插入后的数组任然有序。
#includestdio.h
#define N 4
main()
{
int i,j,m,k,a[N+1];//k为最后输出数组的长度变量
printf(请输入有序整型数组a[%d]\n,N);
for(i=0;iN;i++) scanf(%d,a[i]);
printf(请输入整型数m\n);
scanf(%d,m);
if(a[0]a[1])//递增有序数组
{for(i=0;iN;i++)
{
if(m==a[i]){k=N; break;}//m和数组元素相同
if(ma[i])//m比当前元素小,数组右移
{for(j=N;ji;j--)
a[j]=a[j-1];
a[i]=m;k=N+1;break;
}
}if(i==N) {k=N+1;a[N]=m;}//m比所有元素大
}
if(a[0]a[1])//递减有序数组
{for(i=0;iN;i++)
{
if(m==a[i]) {k=N;break;}//m和数组元素相同
if(ma[i])//m比当前元素大,数组右移
{for(j=N;ji;j--)
a[j]=a[j-1];
a[i]=m;k=N+1;break;
}
}if(i==N) {k=N+1;a[N]=m;}//m比所有元素小
}
for(i=0;ik;i++)
printf(%3d,a[i]);
printf(\n);
}
补充实验
已知线性表LA和LB中的数据元素按值非递减有序排序,现要求将LA和LB归并为一个新的线性表LC,且LC中的数据元素仍按值非递减有序排列。
#includestdio.h
int Getelem(int a[], int t);//声明得到数组元素函数
void ListInsert(int b[], int p,int q );//声明插入数组函数
main()
{
int m,i=0,j=0,k=0,LA[5],LB[5],LC[10],ai,bj;
for(m=0;m5;m++)
scanf(%d,LA[m]);//输入La数组
for(m=0;m5;m++)
scanf(%d,LB
原创力文档


文档评论(0)