数据结构练习题 编一C程序它能读入一个大写英文字母串(字母个数不多于字母两两不同)并构造以这些字母为关键字的二叉排序树再输出该二叉排序树的后序序列和页结点个数
(注程序的可执行文件名必须是 eexe存于你的账号或其debug目录下否则无成绩)
编一C程序它能读入两组整数(每组整数都以为结束标记不算在内个数都不大于)并以从小到大的次序输出既在第一组整数中也在第二组整数中的所有整数(同一个整数不能输出两次)(输入时两个相邻的整数用空格隔开)
(注程序的可执行文件名必须是 eexe存于你的账号或其debug目录下否则无成绩)
#include
void paixu(int r[]int n)
{
int ijk;
int exchange;
for(i=;i<=n;i++)
{
exchange=;
for(j=n;j>=i;j——)
if(r[j+]< p>
{
k=r[j+];
r[j+]=r[j];
r[j]=k;
exchange=;
}
if(!exchange)
break;
}
}
int jiaoji(int m[]int n[]int l[]int countaaint countbb)
{
int wxy;
int i=j=k=;
for(w=;w<=countaa;w++)
{
for(x=w+;x<=countaa;x++)
{
if(m[w]==m[x])
{
countaa——;
for(y=x;y<=countaa;y++)
{
m[y]=m[y+];
}
x——;
}
}
}
while(i<=countaa)
{
for(j=;j<=countbb;j++)
{
if(m[i]==n[i])
{
l[k]=m[i];
k++;
break;
}
}
i++;
}
return k;
}
void main()
{
int a[]b[]c[];
int excange=icountAcountBcountC;
printf(请输入数组a \n);
for(i=;i<=;i++)
{
scanf(%d&a[i]);
if(a[i]==)
break;
}
countA=i;
paixu(acountA);
printf(请输入数组b \n);
for(i=;i<=;i++)
{
scanf(%d&b[i]);
if(b[i]==)
break;
}
countB=i;
paixu(bcountB);
countC=jiaoji(abccountAcountB);
printf(\n\n);
for(i=;i<=countC;i++)
printf(%dc[i]);
printf(\n);
[] [] [] []