单链表+++++++++++++++
#include <stdio.h>
#include <stdlib.h>
#include "linklist.h"
int main()
{
Linklist link1;
link1 = create_null_link();
if(is_null_link(link1))
printf("Empty\n");
for(int i = 0; i < 10 ; i++)
//insert_link_head(link1, i + 1);
insert_link_tail(link1, i + 1);
Pnode q;
q = link1->next;
while(q){
printf("%d ", q->info);
q = q->next;
}
return 0;
}
#include "linklist.h"
Linklist create_null_link(void)
{
Linklist llist;
llist = (Linklist)malloc(sizeof(struct node));
llist->next = 0;
return llist;
}
//===================================================
int is_null_link(Linklist llist)
{
return 0 == llist->next;
}
//=================================================
void insert_link_head(Linklist llist,DataType x)
{
Pnode p1;
p1 = (Pnode)malloc(sizeof(struct node));
p1->info = x;
p1->next = llist->next;
llist->next = p1;
}
//================================================
void insert_link_tail(Linklist llist,DataType x)
{
Pnode p1;
p1 = (Pnode)malloc(sizeof(struct node));
p1->info = x;
Pnode q1;
q1 = llist;
while(q1->next)
q1 = q1->next;
q1->next = p1;
p1->next = 0;
}
#ifndef _LINKLIST_H_
#define _LINKLIST_H_
struct node;
typedef int DataType;
typedef struct node* Pnode;
struct node
{
DataType info;
Pnode next;
};
typedef struct node* Linklist;
Linklist create_null_link(void);
int is_null_link(Linklist llist);
void insert_link_head(Linklist llist,DataType x);
void insert_link_tail(Linklist llist,DataType x);
#endif // _LINKLIST_H_