正在加载图片...
fibonacci(r, k, n) rectype rl keytype k int I I= fibonacci(m-1),∥设m为 fibonacci数列序号 P-fibonacci(m-2) S=n+1-(l+p) While((i))&&(!flag)) Switch { case k=rl].key: flag=ture break/检索成功 case k<r[key:ifq==0)I=0∥检索失败 1=l-q; P-q q=t-q break. case kr[ ke iflp=1)l=0,∥检索失败 P=p-q q-q-p, break default: i ruturn(i);fibonacci(r,k,n) { rectype r[]; keytype k; int n; { int I,p,q,t,m,flag; I=fibonacci(m-1);//设 m 为 fibonacci 数列序号 P=fibonacci(m-2); Q=fibonacci(m-3); S=n+1-(I+p); If(k>r[I].key I=I+s; Flag=false; While((i))&&(!flag)) Switch { case k==r[I].key: flag=ture; break;//检索成功 case k<r[I].key: if(q==0) I=0;//检索失败 else {I=I-q; t=p; p=q; q=t-q; } break; case k>r[I].key: if(p==1)I=0; //检索失败 else { I=I+q; P=p-q; q=q-p; } break; default:} ruturn(i); }
<<向上翻页
©2008-现在 cucdc.com 高等教育资讯网 版权所有