From 5b7eccf4148a7c78427fd149a736526d75077220 Mon Sep 17 00:00:00 2001 From: LHY0125 <3364451258@qq.com> Date: Thu, 9 Oct 2025 20:24:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=BC=96=E8=AF=91=E8=AD=A6?= =?UTF-8?q?=E5=91=8A=EF=BC=9A=E7=A7=BB=E9=99=A4main=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E6=9C=AA=E4=BD=BF=E7=94=A8=E7=9A=84argc=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + .vscode/launch.json | 4 +- .vscode/tasks.json | 57 +++++---- 数据结构/array_operations.exe | Bin 0 -> 62270 bytes 数据结构/数组.c | 28 +++++ 数据结构/结构体实现插入元素.c | 222 ++++++++++++++++++++++++++++++++++ 6 files changed, 285 insertions(+), 27 deletions(-) create mode 100644 数据结构/array_operations.exe create mode 100644 数据结构/数组.c create mode 100644 数据结构/结构体实现插入元素.c diff --git a/.gitignore b/.gitignore index ed20416..0696a71 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ # 排除IDE配置文件 .idea/ .vs/ +.vscode/ # 排除Trae AI配置文件 .trae/ diff --git a/.vscode/launch.json b/.vscode/launch.json index 07fbd99..f2c16ca 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -8,8 +8,8 @@ "args": [], "stopAtEntry": false, "externalConsole": true, - "cwd": "d:/Code/C_code/.trae/rules", - "program": "d:/Code/C_code/.trae/rules/build/Debug/outDebug", + "cwd": "d:/Code/C_code/数据结构", + "program": "d:/Code/C_code/数据结构/build/Debug/outDebug", "MIMode": "gdb", "miDebuggerPath": "gdb", "setupCommands": [ diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 8c7ab17..7e104ab 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -1,28 +1,35 @@ { - "tasks": - [ - { - "type": "shell", - "label": "C/C++: gcc.exe 生成活动文件", - "command": "D:\\Program Files\\mingw64\\bin\\gcc.exe", - "args": - [ - "-fdiagnostics-color=always", - "-g", - "${file}", - "-o", - "${fileDirname}\\${fileBasenameNoExtension}.exe", - "-Wall", - "-Werror", - "-std=c++17", - "-fsanitize=address", - "-static-libasan" - ], - "options": {"cwd": "${fileDirname}"}, - "problemMatcher": ["$gcc"], - "group": {"kind": "build","isDefault": true}, - "detail": "调试器生成的任务。" - } - ], + "tasks": + [ + { + "type": "shell", + "label": "C/C++: gcc.exe 生成活动文件", + "command": "D:\\Program Files\\mingw64\\bin\\gcc.exe", + "args": + [ + "-fdiagnostics-color=always", + "-g", + "${file}", + "-o", + "${fileDirname}\\${fileBasenameNoExtension}.exe", + "-Wall", + "-Werror", + "-std=c++17", + "-fsanitize=address", + "-static-libasan" + ], + "options": { + "cwd": "${fileDirname}" + }, + "problemMatcher": [ + "$gcc" + ], + "group": { + "kind": "build", + "isDefault": true + }, + "detail": "调试器生成的任务。" + } + ], "version": "2.0.0" } \ No newline at end of file diff --git a/数据结构/array_operations.exe b/数据结构/array_operations.exe new file mode 100644 index 0000000000000000000000000000000000000000..be59a4189b8290831dc1b35c28cdec02245fc11c GIT binary patch literal 62270 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 literal 0 HcmV?d00001 diff --git a/数据结构/数组.c b/数据结构/数组.c new file mode 100644 index 0000000..ec302c7 --- /dev/null +++ b/数据结构/数组.c @@ -0,0 +1,28 @@ +#include + +int insert(int size, int arr[], int pos, int val) { + for (int i = size; i > pos; i--) { + arr[i] = arr[i - 1]; // 元素后移 + } + arr[pos] = val; // 插入新元素 + + return size + 1; // 返回新的数组大小 +} + +int main() { + int arr[100] = {1, 2, 3, 4, 5}; // 定义一个初始数组 + int size = 5; // 数组的当前元素个数 + + int insertPos = 2; // 要设置值的位置 + int newValue = 99; // 要插入的新值 + + // 调用插入函数 + size = insert(size, arr, insertPos, newValue); + + // 输出插入后的数组 + for (int i = 0; i < size; i++) { + printf("%d ", arr[i]); + } + + return 0; +} \ No newline at end of file diff --git a/数据结构/结构体实现插入元素.c b/数据结构/结构体实现插入元素.c new file mode 100644 index 0000000..41d2b17 --- /dev/null +++ b/数据结构/结构体实现插入元素.c @@ -0,0 +1,222 @@ +#include +#include +#include +#ifdef _WIN32 +#include +#include +#endif + +// 定义结构体 +typedef struct MyArray +{ + int arr[100]; // 数组,假设最大长度为100 + int size; // 数组当前元素数量 +} MyArray; + +// 插入函数,作为结构体外部的成员函数 +void insert(MyArray *myArray, int position, int value) +{ + if (position < 0 || position > myArray->size || myArray->size >= 100) + { + // 处理错误情况,例如位置无效或数组已满 + printf("Error: Invalid position or array is full.\n"); + return; + } + + // 将从插入位置开始的元素向后移动一位 + for (int i = myArray->size; i > position; i--) + { + myArray->arr[i] = myArray->arr[i - 1]; + } + + // 在指定位置插入新值 + myArray->arr[position] = value; + + // 更新数组大小 + myArray->size++; +} + +// 查找函数,返回指定值在数组中的位置,如果未找到返回-1 +int search(const MyArray *myArray, int value) +{ + for (int i = 0; i < myArray->size; i++) + { + if (myArray->arr[i] == value) + { + return i; // 返回找到的位置 + } + } + return -1; // 未找到,返回-1 +} + +// 删除函数,删除指定位置的元素 +void delete(MyArray *myArray, int position) +{ + if (position < 0 || position >= myArray->size) + { + // 处理错误情况,例如位置无效 + printf("Error: Invalid position.\n"); + return; + } + + // 将从删除位置后的元素向前移动一位 + for (int i = position; i < myArray->size - 1; i++) + { + myArray->arr[i] = myArray->arr[i + 1]; + } + + // 更新数组大小 + myArray->size--; +} + +// 安全输入函数,获取用户输入的整数值并进行范围检查 +int getInput(const char *prompt, int min, int max) +{ + int value; + char buffer[100]; + + while (1) + { + printf("%s", prompt); + + if (fgets(buffer, sizeof(buffer), stdin) != NULL) + { + // 尝试解析整数 + char *endptr; + value = strtol(buffer, &endptr, 10); + + // 检查是否为有效整数 + if (endptr != buffer && (*endptr == '\n' || *endptr == '\0')) + { + // 检查范围 + if (value >= min && value <= max) + { + return value; + } + else + { + printf("错误:输入值必须在 %d 到 %d 之间!\n", min, max); + } + } + else + { + printf("错误:请输入有效的整数!\n"); + } + } + else + { + printf("错误:读取输入失败!\n"); + } + } +} + +// 菜单选择输入函数 +int getMenuChoice() +{ + return getInput("请选择操作 (1-5): ", 1, 5); +} + +// 打印函数,作为结构体外部的成员函数 +void print(const MyArray *myArray) +{ + for (int i = 0; i < myArray->size; i++) + { + printf("%d ", myArray->arr[i]); // 打印数组元素 + } + printf("\n"); // 换行 +} + +int main(void) +{ + // 设置控制台编码为UTF-8 +#ifdef _WIN32 + system("chcp 65001 > nul"); // 设置控制台编码为UTF-8 + SetConsoleOutputCP(65001); // 设置控制台输出编码 + SetConsoleCP(65001); // 设置控制台输入编码 + _mkdir("records"); +#endif + + MyArray myArray; // 创建MyArray实例 + int choice, position, value, foundPos; + + // 初始化数组和size + for (int i = 0; i < 5; i++) + { + myArray.arr[i] = i + 1; + } + myArray.size = 5; // 设置数组当前大小 + + printf("初始数组: "); + print(&myArray); + + while (1) + { + // 显示菜单 + printf("\n=== 数组操作菜单 ===\n"); + printf("1. 插入元素\n"); + printf("2. 查找元素\n"); + printf("3. 删除元素\n"); + printf("4. 打印数组\n"); + printf("5. 退出程序\n"); + printf("请选择操作 (1-5): "); + + choice = getMenuChoice(); + + switch (choice) + { + case 1: // 插入元素 + { + char prompt[100]; + sprintf(prompt, "请输入要插入的位置 (0-%d): ", myArray.size); + position = getInput(prompt, 0, myArray.size); + value = getInput("请输入要插入的值 (-1000到1000): ", -1000, 1000); + insert(&myArray, position, value); + printf("插入操作完成!\n"); + } + break; + + case 2: // 查找元素 + value = getInput("请输入要查找的值 (-1000到1000): ", -1000, 1000); + foundPos = search(&myArray, value); + if (foundPos != -1) + { + printf("找到元素 %d 在位置 %d\n", value, foundPos); + } + else + { + printf("未找到元素 %d\n", value); + } + break; + + case 3: // 删除元素 + { + if (myArray.size == 0) + { + printf("错误:数组为空,无法删除元素!\n"); + break; + } + char prompt[100]; + sprintf(prompt, "请输入要删除的位置 (0-%d): ", myArray.size - 1); + position = getInput(prompt, 0, myArray.size - 1); + delete(&myArray, position); + printf("删除操作完成!\n"); + } + break; + + case 4: // 打印数组 + printf("当前数组: "); + print(&myArray); + break; + + case 5: // 退出程序 + printf("程序退出,再见!\n"); + return 0; + + default: + printf("无效选择,请重新输入!\n"); + break; + } + } + + return 0; +} \ No newline at end of file