-->
当前位置:首页 > 题库 > 正文内容

程序填空题:单链表插入操作

Luz4年前 (2021-05-10)题库2285
单链表插入操作。

```
#include
using namespace std;
#define OK 1
#define ERROR 0
typedef int ElemType;

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

int ListInsert(LinkList &L, int i, ElemType &e) {
int j=0;
LinkList p, s;
p = L;
while (@@[p && j < i - 1](2)) {
p = p->next;
++j;
}
if (!p || j > i - 1)
return ERROR;
s = new LNode;
s->data = e;
@@[s->next = p->next;](2)
@@[p->next = s; ](2)
return OK;
}

void CreateList(LinkList &L, int n) ;//该函数未显示细节

void print(LinkList &L)
{
LinkList p;
int flag=1;
p = L->next;
while (p) {
if(flag)
cout << p->data;
else
cout << " "<< p->data;
flag=0;
p = p->next;
}
}

int main() {
LinkList L;
ElemType e;
int length;
int i;
cin >> length;
CreateList(L, length);
cin >> i >> e;
ListInsert(L,i,e);
print(L);
return 0;
}
```






答案:
第1空:p && j < i - 1

第2空:s->next = p->next;

第3空:p->next = s;

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。