1.
#include <stdio.h>
#include <stdlib.h>
//头插法建立链表
//定义链表结点
typedef struct node{
int data;
struct node *next;
}Lnode;
//创建n个结点的链表,因为要通过参数改变指针变量,
//所以形参采用二重指针形式,生成链表带有头结点;
void createLnode(Lnode **L, int n){
//声明指针p,用来指向新生成的链表结点;
Lnode *p;
*L = (Lnode*)malloc(sizeof(Lnode));//这里创建了一个头节点
(*L)->next = NULL;
p = *L;
int i;
//循环插入结点
for(i=0;i<n;i++){
p = (Lnode*)malloc(sizeof(Lnode));
scanf("%d", &p->data);
p->next = (*L)->next;
(*L)->next = p;
}
}
//遍历链表,用于检查链表是否成功建立
void listLnode(Lnode *L){
//声明指针p,用于跟踪链表结点
Lnode *p;
//L->next指向链表第一个结点
p = L->next;
while(p != NULL){
printf("%d ",p->data);
p = p->next;
}
}
int main(){
//声明一个结构指针,并获得内存空间;
Lnode *L =