• 2021-04-14
    在单链表基体操作Status ListDelete_L(LinkList L, int i, ElemType _
  • while (p && j < i-1) {  p = p->next;   ++j; }

    内容

    • 0

      已知线性表L的长度为n,执行ListDelete(&L,i,&e)操作后,线性表L的长度为() A: n B: n+1 C: n-1 D: n+2

    • 1

      已知不带头结点的单链表L,下面用函数实现的在第一个元素前面插入值为x的元素结点的算法错误的是( ) A: void insert(List *L,elemtype x){ node d=new node(x); d.next=*L; *L=&d;} B: List * insert(List *L,elemtype x){ node d=new node(x); d.next=*L; *L=&d; return L;} C: void insert(List *L,elemtype x){ ptr p=*L; node d=new node(x); ptr q=&d; p->next=q; L=&q;} D: List insert(List *L,elemtype x){ node d=new node(x); d.next=*L; return &d;}

    • 2

      线性表基本操作ListDelete(&L,i)的功能是删除L的第i个数据元素,且L的长度减1。其中i必须满足条件:1≤i≤ListLength(L),即删除位置可以是1到Length(L)中的任意一个。

    • 3

      在带头节点的单链表L

    • 4

      已知不带头结点的单链表L,下面用函数实现的在第一个元素前面插入值为x的元素结点的算法错误的是( ) A: void insert(List *L,elemtype x){ ptr p=*L; node d=new node(x); ptr q=&d; q->next=p; L=&q;} B: List * insert(List *L,elemtype x){ ptr p=*L; node d=new node(x); ptr q=&d; q->next=p; L=&q; return L;} C: void insert(List *L,elemtype x){ ptr p=*L; node d=new node(x); ptr q=&d; p->next=q; L=&q;} D: List * insert(List *L,elemtype x){ ptr p=*L; node d=new node(x); ptr q=&d; q->next=p; return &q;}