双向链表的实际应用
- 虚拟滚动与长列表优化
- 游戏开发与多媒体播放列表
- 操作系统中的进程调度
- 文本编辑器的'撤销'与'重做'
- 浏览器历史记录
头文件定义 (list.h)
#ifndef __LIST_H_
#define __LIST_H_
#include <stdio.h>
#include <stdbool.h>
typedef struct Flight_List {
int Flight_Number[10];
char User_Name[2][3];
struct Flight_List *Prev;
struct Flight_List *Next;
} Flight_List;
Flight_List *List_Init();
Flight_List *List_Add(Flight_List *Head, int flightNumber, char *userName, bool determine);
Flight_List *List_Delete(Flight_List *Head, int Serial_Number);
Flight_List *List_Modify(Flight_List *Head, int Serial_Number, char *newUserName);
Flight_List *List_Find(Flight_List *Head, int Serial_Number);
#endif
实现细节 (list.c)