第28712题 单选题
下列代码片段中能正确完成带头结点单链表的按位插入操作的是?

已知单链表节点结构定义为:

typedef struct LNode {
    int data;
    struct LNode *next;
} LNode, *LinkList;

现有带头结点的单链表L,要求在第i个位置(1≤i≤表长+1)插入数据域为e的新节点,下列操作代码正确的是:

A
LNode *p = L; int j = 0;
while(p != NULL && j < i) { p = p->next; j++; }
LNode *s = (LNode*)malloc(sizeof(LNode));
s->data = e;
s->next = p->next;
p->next = s;
B
LNode *p = L; int j = 0;
while(p != NULL && j < i-1) { p = p->next; j++; }
LNode *s;
s->data = e;
s->next = p->next;
p->next = s;
C
LNode *p = L; int j = 0;
while(p != NULL && j < i-1) { p = p->next; j++; }
LNode *s = (LNode*)malloc(sizeof(LNode));
s->data = e;
s->next = p->next;
p->next = s;
return 1;
D
LNode *s = (LNode*)malloc(sizeof(LNode));
s->data = e;
s->next = L->next;
L->next = s;
程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析