以带头结点 且 存放的数据是整数类型 的单链表为例 ~
头插法
void createlistF(LNode *&C,int a[],int n){ // n为数组长度
LNode *s; // s指向新申请的结点
int i;
C=(LNode*)malloc(sizeof(LNode));
C->next=NULL;
for(i=0;i<n;i++){
s=(LNode*)malloc(sizeof(LNode));
s->data=a[i];
s->next=C->next;
C->next=s;
}
}
尾插法
void createlistR(LNode *&C,int a[],int n){ // n为数组长度
LNode *s,*r; // s指向新申请的结点,r指向尾结点
int i;
C=(LNode*)malloc(sizeof(LNode));
C->next=NULL;
r=C;
for(i=0;i<n;i++){
s=(LNode*)malloc(sizeof(LNode));
s->data=a[i];
r->next=s;
r=r->next;
}
r->next=NULL;
}