#include <stdio.h>
#include <stdlib.h>
/*
=================
定义链表数据结构
=================
*/
struct node
{
int num;
struct node * next;
struct node * prior;
};
typedef struct node Node;
typedef struct node * Link;
/*
===============
功能:设头结点
返回:void
===============
*/
void creat_link(Link * head)
{
(*head) = (Link)malloc(sizeof(Node)) ; //创建一个新的节点,返回其地址
if(NULL == (*head))
{
printf("malloc error!\n");
exit(-1);
}
(*head) -> next = *head;
(*head) -> prior = *head;
}
/*
=====================
功能:从头部插入结点
返回:void
=====================
*/
void insert_node_head(Link * head,Link new_node)
{
Link tmp = *head;
new_node->next = (*head)->next;
(*head)->next->prior = new_node;
new_node->prior = *head;
(*head)->next = new_node;
if((*head) -> prior == *head)
{
(*head)->prior = new_node;
}
}
/*
=====================
功
#include <stdlib.h>
/*
=================
定义链表数据结构
=================
*/
struct node
{
int num;
struct node * next;
struct node * prior;
};
typedef struct node Node;
typedef struct node * Link;
/*
===============
功能:设头结点
返回:void
===============
*/
void creat_link(Link * head)
{
(*head) = (Link)malloc(sizeof(Node)) ; //创建一个新的节点,返回其地址
if(NULL == (*head))
{
printf("malloc error!\n");
exit(-1);
}
(*head) -> next = *head;
(*head) -> prior = *head;
}
/*
=====================
功能:从头部插入结点
返回:void
=====================
*/
void insert_node_head(Link * head,Link new_node)
{
Link tmp = *head;
new_node->next = (*head)->next;
(*head)->next->prior = new_node;
new_node->prior = *head;
(*head)->next = new_node;
if((*head) -> prior == *head)
{
(*head)->prior = new_node;
}
}
/*
=====================
功