#include #include #include typedef enum { STATE_EMPTY, //空的 STATE_COMPLETE, //满状态 STATE_INCOMPLETE, //可以添加 STATE_CPOYING //正在复制数据 } QueueState; //定义节点 typedef struct node_linnk//2*10+2+2+2=26 { unsigned short int *f_data;//2*10 unsigned short int f_size; //2 unsigned short int max; //这一秒钟内最大值 unsigned short int min; struct node_linnk *next; } node, *q_node; //定义队列(保存队首和队尾指针) typedef struct queue_link { unsigned short int max_size; unsigned short int currentSize; QueueState state; unsigned short int max; unsigned short int min; char link_flag; char mem_way; q_node front; q_node rear; } que, *q_que; void InitQueue(q_que *q, int num, char c); bool EmptyQueue(q_que q); void InsertQueue(q_que q, unsigned short int *src, int size, unsigned short int *max_min); void DeleteQueue(q_que q); void Display_f(q_que q); void copy_data_up_v(q_que q, unsigned short int* sdst,unsigned char* cdst, int index); void copy_data_stage(q_que q, unsigned char *dst, int index); void copy_data_down(q_que q, unsigned short int *dst, int index); void copy_data_up(q_que q, unsigned short int *dst, int index);