+ -
当前位置:首页 → 问答吧 → 求下列算法的功能

求下列算法的功能

时间:2011-12-25

来源:互联网

1.void AA(LNode *HL,const ElemType &item)
{
  LNode *newptr=new Lnode;
  newptr->data=item;
  LNode *p=HL;
  while(p->next!=HL)
  p=p->next;
  newptr->next=HL;
  p->next=newptr;
}
2.
void BB(LNode *&HL)
{
  LNode *p=HL;
  HL=NULL;
  while(p!=NULL)
  {
  LNode *q=p;
  p=p->next;
  q->next=HL;
  HL=q;
}
3.int CC(ElemType A[],int i,KeyType K)
{
  for(int i=0;i<n;i++)
  if(A[i].key==K)
break;
  if(i<n)return i;
else return -1;
}
4.void LL(GLNode *GL)
{
  int max=0;
while(GL!=NULL)
{
  if(GL->tag==true)
{
  int dep=LL(GL->sublist);
  if(dep>max)
max=dep;
}
GL=GL->next;
}
return max+1;
}
谢谢

作者: zknxx   发布时间: 2011-12-25

看了许久,愈看愈头昏。

作者: wangwei890702   发布时间: 2011-12-25

第一个:链表的插入
第二个:吧把HL之后的链表(包括HL)截取成一个新的链表
第三个:从数组A[i]开始查找,与K相等的数组元素,找到了A[i]==K返回此时的i值
C/C++ code

3.int CC(ElemType A[],int i,KeyType K)
{
  for(int i=0;i<n;i++)//这个n是常量或者全局变量吧?应该是数组ElemType A[n];
  if(A[i].key==K)
break;
  if(i<n)return i;
else return -1;
}


第四题:给的信息量不够吧...而且函数名也错了,应该要int LL(GLNode *GL),估计是要找链表中最大值在第几位上

作者: shenxinji   发布时间: 2011-12-25

第一个,循环链表,创建一个值为item的节点,插入到节点HL之前
第二个少个括号
C/C++ code

void BB(LNode *&HL)
{
  LNode *p=HL;
  HL=NULL;
  while(p!=NULL)
  {
   LNode *q=p;
   p=p->next;
   q->next=HL;
   HL=q;
}
}
反转链表,
第三个,在数组或者线性链表(单链表)中查找值为k的数组索引


第四个有问题
C/C++ code

  if(GL->tag==true)
{
  int dep=LL(GL->sublist);//函数木有返回值的
  if(dep>max)
max=dep;
}

作者: youkuxiaobin   发布时间: 2011-12-26

热门下载

更多