大连东软数据结构编程题

大连东软数据结构编程题

ID:38830712

大小:73.73 KB

页数:11页

时间:2019-06-20

大连东软数据结构编程题_第1页
大连东软数据结构编程题_第2页
大连东软数据结构编程题_第3页
大连东软数据结构编程题_第4页
大连东软数据结构编程题_第5页
资源描述:

《大连东软数据结构编程题》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、数据结构编程题1)题1完成函数f的实现,参数a为int数组首地址,len为数组长度,要求函数f能够将数组元素重新排列奇数在前,偶数在后。答案:voidf(int*a,intlen){inti,j;for(i=0;i

2、长度,要求函数f能够返回数组最大元素的个数。答案:intf(constint*a,intlen){inti,max=0,cnt=1;//max用于保存最大元素的序号,cnt用于记录个数for(i=1;i

3、oidf(int*a,intlen){inti,j,tmp;for(i=1;ia[0]%10)){//对某数进行%10运算,即可获取其个位上的值for(j=i-1;tmp%10>a[j]%10;--j)a[j+1]=a[j];a[j+1]=tmp;}else{for(j=i;j>0;--j)a[j]=a[j-1];a[0]=tmp;}}}解法二:(冒泡排序)voidf(int*a,intlen){inti,j,flg,tmp;for(i=0;i

4、){flg=0;for(j=0;ja[j]%10){tmp=a[j+1];a[j+1]=a[j];a[j]=tmp;}if(flg=0)break;}}4)题4完成函数f的实现,参数a为int数组首地址,len数组长度,要求函数f返回数组中元素是否构成大根堆,是返回1,否返回0.答案:_Boolf(constint*a,intlen){inti;for(i=(len-1)/2;i>=0;--i){if(a[i]

5、

6、a[i]

7、eturnfalse;}}returntrue;}5)题5完成函数f的实现,参数a为int数组首地址,len为数组长度,x为一个整数,假设数组元素已排好降序,要求函数f运用折半查找算法,查找数组中是否存在x,存在返回1,不存在返回0。答案:_Boolf(constint*a,intlen,intx){intlow=0,high=len-1,mid=(low+high)/2;while(low

8、mid]>x){low=mid+1;}mid=(low+high)/2;}returnfalse;}6)题6完成函数f的实现,参数s和t分别表示两个字符串首地址,要求函数f返回字符串t在字符串s中出现的次数,例如:f(“aaa”,“返回aa”)2。答案:intf(constchar*s,constchar*t){intlen1=strlen(s),len2=strlen(t),i,num=0;for(i=0;i

9、}7)题7代码中,结构体Node表示双链表节点,其中p指向前驱,n指向后继;结构体List表示链表,指针head指向链表头节点,tail指向链表尾节点,当链表为空时,head和tail为0(NULL)。完成函数f的实现,参数lp表示链表结构的指针,要求函数f能够删除lp指向链表的尾节点,并释放内存(假设链表节点内存来自堆区),函数f的返回值表示删除操作是否成功,成功返回1,否则返回0。答案:_Boolf(List*lp){if(lp->tail==NULL)returnfalse;Node*cur=lp->tail;lp->t

10、ail=cur->p;if(lp->tail==NULL)lp->head=NULL;elselp->tail->n=NULL;free(cur);returntrue;}8)题8代码中,结构体Node表示二叉树节点,其中left指向左孩子,right指向右孩子;完成函数f的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。