自己存一点电笔记,哈哈哈哈
- 单链表结构体定义
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode, *LinkList;
- 头插法建立单链表
void LinkHead(LNode *&L){
L = (LNode *) malloc(sizeof(LNode));
L->next = NULL;
ElemType x;
scanf("%d", &x);
LNode *s;
while (x != 9999){
s = (LNode *) malloc(sizeof(LNode));
s->data = x;
s->next = L->next;
L->next = s;
scanf("%d", &x);
}
}
- 打印单链表
void PrintLinkList(LNode *L){
L = L->next;
while(L != NULL){
printf("%3d", L->data);
L = L->next;
}
printf("\n");
}
- 测试
int main() {
LNode *L;
L = (LNode *) malloc(sizeof(LNode));
LinkHead(L);
PrintLinkList(L);
return 0;
}
- 尾插法建立单链表
void LinkTail(LNode *&L){
L = (LNode *)malloc(sizeof(LNode));
L->next = NULL;
LNode *s;
LNode *r;
r = L;
ElemType x;
scanf("%d", &x);
while (x != 9999){
s = (LNode *)malloc(sizeof(LNode));
s->data = x;
r->next = s;
r = s;
scanf("%d", &x);
}
r->next = NULL;
}