电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数据结构常考算法大全

数据结构常考算法大全_第1页
数据结构常考算法大全_第2页
数据结构常考算法大全_第3页
数据结构常考算法大全HL 是单链表的头指针,试写出删除头结点的算法。ElemTypeDeleFront(LNode*&HL){if(HL==NULL){cerrvv"空表"vvendl;exit(1);}LNode*p=HL;HL=HL->next;ElemTypetemp=p->data;deletep;returntemp;}统计出单链表 HL 中结点的值等于给定值 X 的结点数。intCountX(LNode*HL,ElemTypex){inti=0;LNode*p=HL;//i 为计数器while(p!=NULL){if(P->data==x)i++;p=p->next;}//while,出循环时 i 中的值即为 x 结点个数returni;}//CountX写算法,将一个结点类型为 Lnode 的单链表按逆序链接,即若原单链表中存储元素的次序为 a1,an-1,an,则逆序链接后变为,an,an-1,al。Voidcontrary(Lnode*&HL){Lnode*P=HL;HL=NULL;While(p!=null){Lnode*q=p;P=pfnext;qfnext=HL;HL=q;}}34.阅读下列函数 arrange()intarrange(inta[],int1,inth,intx){//I 和 h 分别为数据区的下界和上界inti,j,t;i=1;j=h;while(iwhile(i=x)j--;while(i=x)i++;if(i{t=a[j];a[j]=a[i];a[i]=t;}}if(a[i];elsereturni-1;}(1)写出该函数的功能;(2)写一个调用上述函数实现下列功能的算法:对一整型数组 b[n]中的元素进行重新排列,将所有负数均调整到数组的低下标端,将所有正数均调整到数组的高下标端,若有零值,则置于两者之间,并返回数组中零元素的个数。五、算法设计题(本题共 10 分)34.(1)该函数的功能是:调整整数数组 a[]中的元素并返回分界值 i,使所有 Vx 的元素均落在 a[1..i]上,使所有三 x 的元素均落在 a[i+1..h]上。(2)intf(intb[],intn)或 intf(intb[],intn){{intp,q;intp,q;p=arrange(b,0,n-1,0);p=arrange(b,0,n-1,1);q=arrange(b,p+1,n-1,1);q=arrange(b,0,p,0);returnq-p;returnp-q;}}设计判断单链表中结点是否关于中心对称算法。typedefstruct{ints[100];inttop;}sqstack;intlklistsymmetry(lklist*head){sqstackstack;stack.top=-1;lklist*p;for(p=head;p!=0;p=p->next){stack.top++;stack.s[stack.top]=p->data;}for(p=head;p!=0;p=p->next)if(p->data==stack.s[stack.top])stack.top=stack.top-1;elsereturn(0);return(1);}设计在链式存储结构上建立一棵二叉树的算法。typedefchardatatype;typedefstructnode{datatypedata;structnode*lchild,*rchild;}bitree;voidcreatebitree(bitree*&bt){charch;scanf("%c",&ch);if(ch=='#'){bt=0;return;}bt=(bitree*)malloc(sizeof(bitree));bt->data=ch;creat...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部