大连东软数据结构编程题_第1页
大连东软数据结构编程题_第2页
大连东软数据结构编程题_第3页
大连东软数据结构编程题_第4页
大连东软数据结构编程题_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据结构编程问题1)问题1要完成函数f的实现,参数a必须是int数组的第一个地址,len是数组的长度,函数f必须能够在奇数之前、偶数之后重新排列数组元素。回答:Void f(int *a,int len) Int i、j;for(I=0);Ia 0) /计算数字以获取其位值for(j=I-1;tmp aj;-j)aj 1=aj;aj 1=tmp; elsefor(j=I;j0;-j)aj=aj-1;a0=tmp;解决方案2:(编号对齐)Void f(int *a,int len) Int i、j、flg、tmpfor(I=0);iaj);tmp=aj 1;aj 1=aj;aj=tmp;If(flg=0)Break4)问题4要完成函数f的实现,参数a返回int数组的第一个地址,len数组长度,函数f是否构成大根堆,返回示例1,返回否0。回答:_Bool f(const int *a,int len) int I;for(I=(len-1)/2;I=0;-I If(aix) low=mid 1;Mid=(低高度)/2;Return false6)问题6完成函数f的实现后,参数s和t分别表示两个字符串的第一个地址,请求函数f返回字符串s中字符串t发生的次数。例如,f (AAA , AA )返回2。回答:Int f(const char *s,const char *t) Int len1=strlen (s),len2=strlen (t),I,num=0;for(I=0);Itail=NULL)Return falsenode * cur=LP-tail;LP-tail=cur-p;If(lp-tail=NULL)LP-head=NULL;ElseLP-tail-n=NULL;free(cur);Return true8)问题8代码中的结构节点表示二叉树节点。其中left指向左边的孩子,right指向右边的孩子。完成函数f的实现,参数root表示二叉树根节点指针,要求函数f返回该树的深度,提示可以使用第一次序列遍历。回答:Int f(const Node *root) If(root=NULL)return 0;Int l=f(根-left);Int r=f(根-右);Return lr?1: r 1;9)问题9代码中的结构节点表示二叉树节点。其中left指向左边的孩子,right指向右边的孩子。完成函数f的实现。参数root表示二叉树根节点指针,请求函数f释放树中所有节点使用的内存(假定节点内存来自堆),并按以下可用顺序通过提示:回答:Int f(Node *root) If(root=NULL)Returnf(根-left);f(根-右);Free(根);10)问题10在代码中,结构节点表示单个连接列表中的节点,data是整个数据域,Node是指向以下项的指针:完成函数f的实现。参数head是关联列表的头节点,参数x表示整数,要求函数f关联列表中的数据字段返回大于x的节点数。回答:Int f(Node *head,int x) node * p;int CNT=0;for(p=head;p!=NULLP=p-next)If(p-datax)CntReturn CNT11)问题11完成函数f的实现。参数n表示正整数,参数a表示二维数组的第一个地址,a存储n个系统,但表示正向图形的相邻矩阵,aij=1表示节点I中节点j有边,函数f必须返回打印大于传入值的顶点数。回答:Int f (int n,const _ bool a n n),Int i、j、CNT=0;for(I=0);Iin)CntReturn CNT12)问题12完成函数f的实现。参数n表示正整数,参数a表示数组的第一个地址,I表示正整数(0=i0)堆栈-;ElseReturn falseIf(stack=0)Return trueReturn false(14)问题14完成函数f的实现,参数S1和S2分别表示两个字符串的第一个地址,函数f请求实现不区分大写和小写的字符串比较,S1比S2小时f返回负数,S1大于S2返回正数,字符字符串等效返回0。答案Int f (const char * S1,const char * S2) int I;for(I=0);S1i!=0 | s2i!= 0;I)If (S1 I=S2 I)、Continue else if(S1I=a S1I=z | | S1I=a S1I=zS2i=A s2i=Z | s2i=a s2i=zABS(S1I-S2I)=ABS(a-a)Continue elseif (S1 I S2 I)、return 1; elsereturn-1;return 0;15)问题15完成函数f的实现,假设参数a、b、c表示三个int数组的第一个地址,la和lb表示数组a和b的长度,并且数组a和b具有升序。函数f必须将数组a和b的内容合并到数组c中。也就是说,如果a和b的内容复制到数组c,则c也

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论