程序填空题:创建单链表(尾插法)
创建单链表。
```
#include
using namespace std;
typedef int ElemType;
typedef struct LNode {
ElemType data;
struct LNode *next;
} LNode, *LinkList;
void CreateList(LinkList &L, int n) {
LinkList p, r;
int length;
L = new LNode;
L->next = NULL;
r = L;
length = 0;
while (length p = new LNode;
cin >> p->data;
@@[p->next = NULL;](2)
@@[r->next = p;](2)
@@[r = p;](2)
length++;
}
}
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;
cin >> length;
CreateList(L, length);
print(L);
return 0;
}
```
答案:
第1空:p->next = NULL;
第2空:r->next = p;
第3空:r = p;
```
#include
using namespace std;
typedef int ElemType;
typedef struct LNode {
ElemType data;
struct LNode *next;
} LNode, *LinkList;
void CreateList(LinkList &L, int n) {
LinkList p, r;
int length;
L = new LNode;
L->next = NULL;
r = L;
length = 0;
while (length
cin >> p->data;
@@[p->next = NULL;](2)
@@[r->next = p;](2)
@@[r = p;](2)
length++;
}
}
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;
cin >> length;
CreateList(L, length);
print(L);
return 0;
}
```
答案:
第1空:p->next = NULL;
第2空:r->next = p;
第3空:r = p;