1、单链表的建立:头插法和尾插法
- 初始化一个单链表
- 每次取一个数据元素,插入到表尾/表头
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode, *LinkList;
bool InitList(LinkList &L){
L = (LNode *)malloc(sizeof(LNode));
if (L==NULL)
return false;
L->next = NULL;
return true;
}
void test(){
LinkList L;
InitList(L);
}
- 尾插法
void createListR(LNode *&C,int a[],int n){
LNode *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;
}
- 头插法
void createListF(LNode *&C,int a[],int n){
LNode *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;
}
}