大连东软数据结构编程题(5篇).docx 立即下载
2025-08-26
约2.4万字
约42页
0
31KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

大连东软数据结构编程题(5篇).docx

大连东软数据结构编程题(5篇).docx

预览

免费试读已结束,剩余 37 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

大连东软数据结构编程题(5篇)

第一篇:大连东软数据结构编程题数据结构编程题1)题1完成函数f的实现,参数a为int数组首地址,len为数组长度,要求函数f能够将数组元素重新排列奇数在前,偶数在后。答案:voidf(int*a,intlen){inti,j;for(i=0;iintflg=1;for(j=0;jif(a[j]%2==0&&a[j+1]%2){inttmp=a[j];a[j]=a[j+1];a[j+1]=tmp;flg=0;}}if(flg)break;}}2)题2完成函数f的实现,参数a为int数组的首地址,len为数组长度,要求函数f能够返回数组最大元素的个数。答案:intf(constint*a,intlen){inti,max=0,cnt=1;//max用于保存最大元素的序号,cnt用于记录个数for(i=1;imax=i;cnt=1;}elseif(a[max]==a[i]){++cnt;}returncnt;}3)题3完成函数f的实现,参数a为int数组的首地址,len为数组长度,要求函数f能够将数组元素按照个位排降序,同时要求使用的算法要保证排序稳定性。答案:解法一:(插入排序)voidf(int*a,intlen){inti,j,tmp;for(i=1;itmp=a[i];}}if(!(a[i]%10>a[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;iflg=0;for(j=0;jif(a[j+1]%10>a[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]returnfalse;}}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(lowif(a[mid]==x){returntrue;}elseif(a[mid]high=mid;}elseif(a[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;iif(strncmp(s+i,t,len2)==0)++num;returnnum;}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->tail=cur->p;if(lp->tail==NULL)lp->head=NULL;elselp->tail->n=NULL;free(cur);returntrue;}8)题8代码中,结构体Node表示二叉树节点,其中left指向左孩子,right指向右孩子;完成函数f的实现,参数root表示二叉树根节点指针,要求函数f返回该树的深度,提示可用先序遍历。答案:intf(constNode*root){if(root==NULL)return0;intl=f(root->left);intr=f(
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

大连东软数据结构编程题(5篇)

文档大小:31KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用