




如果您无法下载资料,请参考说明:
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(

森林****io
实名认证
内容提供者


最近下载
贵州省城市管理行政执法条例.doc
贵州省城市管理行政执法条例.doc
一种基于双轨缆道的牵引式雷达波在线测流系统.pdf
一种基于双轨缆道的牵引式雷达波在线测流系统.pdf
一种胃肠道超声检查助显剂及其制备方法.pdf
201651206021+莫武林+浅析在互联网时代下酒店的营销策略——以湛江民大喜来登酒店为例.doc
201651206021+莫武林+浅析在互联网时代下酒店的营销策略——以湛江民大喜来登酒店为例.doc
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf
用于空间热电转换的耐高温涡轮发电机转子及其装配方法.pdf