请高手看一下这几个c的考研编程题

yeqi19810629 2002-11-27 10:56:44
(以下程序或算法均用c实现)
1.假定二叉树用链式存储结构表示,设计一个判断一棵二叉树是否为
平衡二叉树的算法。
2,设T是一棵具有n个接点的二叉树,若给定二叉树T 的先序序列和中序序列,
并假定T 的先序序列分别存放在数组preorder[n]和inorder[n]中,设计一个
构造二叉树T 的链式存储结构的算法。
3.完成函数askline,计算任给一个正文文件的行数。用c实现,函数头格式为:
int askline(char *fname)
4.任意给定一个大写英文字母,输出从该字母到字母A间的字母组成的回文串,
具体构成方法如下:(1)该串的前半部分是从该字母逐个按字典降序排列至
字母A,再按升序排列至该字母;(2)串中的字母A,C,E,G,I,……Y均为大写;
b,d,f,h,j,……z全部为小写。例如:输入(给定)一个大写英文字母F,程序
输出的回文串为fEdCbAbCdEf.输入(给定)一个大写英文字母C,程序输出的
回文串为:CbAbC.请完成这个子程序。
5.写出一个判别给定二叉树是否为二叉排序树的算法。设此二叉树以二叉链表
作存储结构,且树中的结点关键字均不同。
6。设有向图用邻接矩阵adj表示,每个顶点的入度用数组nodein存储,已知adj和
nodein。请写出对该图进行拓扑排序的算法。
7。任给出一个正整数n,输出0,1,……,n-1的所有排列。例如:给定n=3,则
输出:0,1,2;0,2,1;1,0,2;1,2,0;2,0,1;2,1,0。
8。如果一个数列中的任意一段(至少是两个元素)各个元素均相同,则称为等
值数列段,等值数列段中元素的个数叫做数列段的长度。现有由n个元素组成的
整数数列A,求A中长度最大的所有等值数列段的首末位置,如果没有等值数列段,
则输出特殊标志。
9。设数组A[n]中存放有n个整数,试设计一个O(n)时间的算法,对数组中的
元素从新安排,使得任一负整数在所有正整数之前。
...全文
93 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
imwj 2002-11-29
  • 打赏
  • 举报
回复
简单太烦
liyunsong2000 2002-11-29
  • 打赏
  • 举报
回复
3:

#include <fstream.h>
#include <iomanip.h>
#include <stdlib.h>


int askline(char *fname)
{
fstream infile;
int i=0;
char s[255];
infile.open(fname,ios::in);
if (!infile)
{
cout<<"can't open"<<endl;
exit(1);
}

while (!infile.eof())
{
infile.getline(s,sizeof(s));
i++;
}
infile.close();
return i;
}

void main()
{
int k;
char str1[20];
cin>>str1;
k=askline(str1);
cout<<k<<endl;
}

在VC中通过
yeqi19810629 2002-11-29
  • 打赏
  • 举报
回复
不好意思,各位大虾,不是我完全不能动手,只是我需要综合大家的思路,这样才有助于我在考试时的快速灵活反映,所以请大家多多出手相助。特别请 duxiaoji(一闻)解出所有的问题,因为你说很简单,好象很扎实的样子。
AechoJohn 2002-11-28
  • 打赏
  • 举报
回复
上学时的习题吧?
一闻 2002-11-28
  • 打赏
  • 举报
回复
也不怎么难么?看了偶也可以考研去了!
tristsesame 2002-11-28
  • 打赏
  • 举报
回复
你去找找清华版的数据结构习题集的答案吧
那里讲得很清楚的
sylmoon 2002-11-28
  • 打赏
  • 举报
回复
UP
WaterWalker 2002-11-27
  • 打赏
  • 举报
回复
9:
a[20]
for(i=0,j=19;i<j;)
{
if(a[i]>0)
{
if(a[j]<0)
swap(a[i],a[j]);
else j--;
}
else i++;
}

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧