}
21. 设计将所有奇数移到所有偶数之前的算法。
voi qui kp ss(int r[], int s, int t)
{
int i=s,j=t,x=r[s];
while(i<j)
{
while (i<j && r[j]%2==0) j=j-1; if (i<j) {r[i]=r[j];i=i+1;}
while (i<j && r[i]%2==1) i=i+1; if (i<j) {r[j]=r[i];j=j-1;}
}
r[i]=x;
}
22. 设计判断单链表中元素是否是递增的算法。
int isriselk(lklist *he d)
{
if(he d==0||he d->next==0) return(1);else
for(q=he d,p=he d->next; p!=0; q=p,p=p->next)if(q-> t >p-> t ) return(0);
return(1);
}
23. 设计在链式存储结构上合并排序的算法。
voi mergelklist(lklist *h ,lklist *h ,lklist *&h )
{
lklist *s=h =0;
while(h !=0 && h !=0)
if(h -> t <h -> t ){if(s==0) h =s=h ; else {s->next=h ; s=h ;};h =h ->next;}else {if(s==0) h =s=h ; else {s->next=h ; s=h ;};h =h ->next;}
if(h ==0) s->next=h ; else s->next=h ;
}
24. 设计在二叉排序树上查找结点X的算法。
itree * stse r h1( itree *t, int key)
{
itree *p=t;
while(p!=0) if (p->key==key) return(p);else if (p->key>key)p=p->l hild; else p=p->r hild; return(0);
}
25. 设关键字序列(k1,k2,?,kn-1)是堆,设计算法将关键字序列(k1,k2,?,kn-1,
x)调整为堆。
voi djusthe p(int r[ ],int n)
{
int j=n,i=j/2,temp=r[j-1];
while (i>=1) if (temp>=r[i-1]) re k; else{r[j-1]=r[i-1]; j=i; i=i/2;}
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-25557-49.html
让有智慧
做法也多没见你列为顶级美食