#ifndef __LINKLIST__H_
#define __LINKLIST__H_
typedef int datatype_t;
typedef struct node
{
datatype_t data;
struct node *next;
} linknode_t;
extern linknode_t *create_empty_linklist();
extern void insert_head_linklist(linknode_t *head,datatype_t data);
extern void insert_tail_linklist(linknode_t *head,datatype_t data);
extern void insert_order_linklist(linknode_t *head,datatype_t data);
extern void print_data_linklist(linknode_t *head);
extern void insert_desc_order_linklist(linknode_t *head,datatype_t data);
extern int is_empty_linklist(linknode_t *head);
extern int delete_data_linklist(linknode_t *head,datatype_t data);
extern void reverse_data_linklist(linknode_t *head);
extern void clean_up_linklist(linknode_t *head);
#endif
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
#include <stdio.h>
#include "linklist.h"
int main(int argc, const char *argv[])
{
linknode_t *head = create_empty_linklist();
if(NULL == head)
{
return -1;
}
insert_tail_linklist(head,1);
insert_tail_linklist(head,5);
insert_tail_linklist(head,3);
insert_tail_linklist(head,7);
insert_tail_linklist(head,9);
print_data_linklist(head);
reverse_data_linklist(head);
printf("逆序后的链表\n");
print_data_linklist(head);
printf("执行清除链表\n");
clean_up_linklist(head);
printf("清除完成之后打印\n");
print_data_linklist(head);
return 0;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
执行结果
