diff --git a/Project2/Debug/Project2.tlog/link.read.1.tlog b/Project2/Debug/Project2.tlog/link.read.1.tlog index b275a89..3d98ed7 100644 Binary files a/Project2/Debug/Project2.tlog/link.read.1.tlog and b/Project2/Debug/Project2.tlog/link.read.1.tlog differ diff --git a/main.c b/main.c index 77f1534..b105945 100644 --- a/main.c +++ b/main.c @@ -6,7 +6,8 @@ int main(void) { - + sq_list list; + init_sq_list(&list); printf("Hello World!\n"); return 0; } \ No newline at end of file diff --git a/sq_list.c b/sq_list.c index b4e7b45..7d1351d 100644 --- a/sq_list.c +++ b/sq_list.c @@ -3,9 +3,75 @@ #include #include "sq_list.h" -sq_list* init_sq_list(sq_list* name) +sq_list* init_sq_list(sq_list *name) { name = (sq_list*)malloc(sizeof(sq_list)); memset(name, 0, sizeof(sq_list)); return name; } + +// 删除 +void delete_sq_list(sq_list* list,int pos) +{ + if (pos < 0 || pos > list->length || list->length == MAX) + { + printf("位置错误\n"); + return; + } + if (pos == list->length - 1) + list->data[pos] = 0; + else + { + for (int i = pos; i < list->length - 1; i++) + list->data[i] = list->data[i + 1]; + list->data[list->length - 1] = 0; + } + list->length--; +} + +// 替换 +void replace_sq_list(sq_list* list, int pos, int value) +{ + if (pos < 0 || pos > list->length || list->length >= MAX) + { + printf("位置错误\n"); + return; + } + if (pos > list->length && pos <= MAX) + printf("不建议在此处插入"); + list->data[pos] = value; +} + + +// 插入 +void insert_sq_list(sq_list* list, int pos, int value) +{ + if (pos < 0 || pos > list->length || list->length >= MAX) + { + printf("位置错误\n"); + return; + } + if (pos == MAX) + printf("有损插入\n"); + if 9pos > list->length && pos <= MAX) + printf("不建议在此处插入"); + int i = list->length; + int flog = i; + for (i; i > pos; i--) + { + list->data[i + 1] = list->data[i]; + } + if (flog + 1 > list->length) + list->length++; +} + + + + +// 打印 +void print_sq_list(sq_list* list) +{ + for (int i = 0; i < list->length; i++) + printf("%d ", list->data[i]); + printf("\n"); +} \ No newline at end of file diff --git a/sq_list.h b/sq_list.h index a996677..db0c95d 100644 --- a/sq_list.h +++ b/sq_list.h @@ -9,10 +9,10 @@ typedef struct sq_list } sq_list; // 初始化 -sq_list* init_sq_list(sq_list* name); +sq_list* init_sq_list(sq_list* list); // 删除 -void delete_sq_list(sq_list* list); +void delete_sq_list(sq_list* list, int pos); // 替换 void replace_sq_list(sq_list* list, int pos, int value);