双链表增加一个指向前驱结点的指针,使得链表可以向前,向后查找。但是操作略微复杂点。
数据结构
//双链表
typedef struct DLinkList{
datatype info;
struct DLinkList* llink,*rlink;
}DNode;
基本操作
//双链表
DNode* init_dlink_list();
void print_dlink_list(DNode* head);
DNode* insert_in_front_dlink_list(DNode* head, datatype x);
DNode* find_num_dlink_list(DNode* head, datatype x);
DNode* find_pos_dlink_list(DNode* head, int i);
DNode* insert_x_after_y(DNode* head, datatype x, datatype y);
DNode* insert_x_after_i(DNode* head, datatype x, int i);
DNode* delete_num_dlink_list(DNode* head, datatype x);
DNode* delete_pos_dlink_list(DNode* head, int i);
实现
待续。。