/* * @Description: * @Version: 2.0 * @Author: Seven * @Date: 2023-05-15 10:33:07 * @LastEditors: Seven * @LastEditTime: 2023-05-16 14:18:50 */ #ifndef __LIST_H__ #define __LIST_H__ #include "gd32f10x.h" //Á´±í½á¹¹ typedef struct _list_single_t { uint16_t len; // uint8_t data[64]; uint8_t *data; struct _list_single_t *next; }__attribute__((packed)) list_single_t; extern list_single_t *P_list; typedef struct _list_info_t { uint8_t insert_flag; uint8_t delet_flag; }list_info_t; extern list_info_t list_info; list_single_t *CreateLinkList(void); void DisplayLinkList(list_single_t *head); int list_insert_head(list_single_t *head, uint8_t *data, uint16_t len); int list_insert_tail(list_single_t *head, uint8_t *data, uint16_t len); int8_t Check_List_Empty(list_single_t *list); int list_delet_head(list_single_t *list); int list_delet_tail(list_single_t *list); void list_read_head(list_single_t *list, uint8_t *data, uint16_t *len); void list_read_tail(list_single_t *list, uint8_t *data, uint16_t *len); void test_list(void); void Bubble_Sort(uint8_t *data, uint16_t len); void Bidirectional_Bubble_Sort(uint8_t *data, uint16_t left, uint16_t right); void Select_Sort(uint8_t *data, uint16_t len); void Insert_Sort(uint8_t *data, uint16_t len); #endif