C++实现顺序存储结构基本操作:初始化、插入、删除等全解析
```c++ #include <iostream> using namespace std; #define MAX_SIZE 100 // 初始化线性表 void initList(int arr[], int &n) { n = 0; } // 创建线性表 void createList(int arr[], int &n) { cin >> n; for (int i = 0; i < n; i++) { cin >> arr[i]; } } // 插入数字到线性表中 void insertNum(int arr[], int &n, int x, int i) { if (n >= MAX_SIZE) { cout << "线性表已满,无法插入" << endl; return; } if (i < 0 || i > n) { cout << "插入位置非法" << endl; return; } for (int j = n; j > i; j--) { arr[j] = arr[j-1]; } arr[i] = x; n++; } // 删除线性表中的数字 void deleteNum(int arr[], int &n, int i) { if (n <= 0) { cout << "线性表为空,无法删除" << endl; return; } if (i < 0 || i >= n) { cout << "删除位置非法" << endl; return; } for (int j = i; j < n-1; j++) { arr[j] = arr[j+1]; } n--; } // 在线性表中查找数字 int searchNum(int arr[], int n, int x) { for (int i = 0; i < n; i++) { if (arr[i] == x) { return i; } } return -1; } // 遍历线性表 void traverseList(int arr[], int n) { for (int i = 0; i < n; i++) { cout << arr[i] << " "; } cout << endl; } // 逆置线性表 void reverseList(int arr[], int n) { for (int i = 0, j = n-1; i < j; i++, j--) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } // 合并线性表 void mergeList(int arr1[], int n1, int arr2[], int n2, int arr3[], int &n3) { int i = 0, j = 0, k = 0; while (i < n1 && j < n2) { if (arr1[i] <= arr2[j]) { arr3[k++] = arr1[i++]; } else { arr3[k++] = arr2[j++]; } } while (i < n1) { arr3[k++] = arr1[i++]; } while (j < n2) { arr3[k++] = arr2[j++]; } n3 = n1 + n2; } int main() { int la[MAX_SIZE], lb[MAX_SIZE], lc[MAX_SIZE]; int n, m, x, i; initList(la, n); createList(la, n); cin >> x >> i; insertNum(la, n, x, i); cin >> i; deleteNum(la, n, i); cin >> x; int position = searchNum(la, n, x); if (position != -1) { cout << "数字" << x << "在线性表la中的位置是:" << position << endl; } else { cout << "数字" << x << "在线性表la中未找到" << endl; } initList(lb, m); createList(lb, m); traverseList(la, n); traverseList(lb, m); reverseList(la, n); reverseList(lb, m); int lcSize; mergeList(la, n, lb, m, lc, lcSize); traverseList(lc, lcSize); return 0; } ``` ######[AI写代码神器 | 1743点数解答 | 2024-09-26 00:20:17]
- Python实现Q老师成绩管理任务:修改与查看学生成绩(字节豆包 | 191点数解答 | 2025-12-20 20:55:41)102
- Python 代码助力 Q 老师高效管理班级学生成绩:修改与查看一键搞定(字节豆包 | 326点数解答 | 2025-12-27 20:48:12)108
- C 语言实现单链表全功能操作:创建、增删查改与逆置测试( | 4796点数解答 | 2024-03-28 16:24:20)353
- C++实现顺序存储结构基本操作:初始化、插入、删除等全解析(GPT | 1743点数解答 | 2024-09-26 00:20:17)298
- Java顺序表源码深度解析:从内存布局到扩容机制与Windows实战指南(阿里通义 | 2528点数解答 | 2026-04-01 10:06:46)26
- Java实现有序集合合并与交集算法(顺序表+单链表)(百度文心 | 1247点数解答 | 2026-03-25 10:35:22)27
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)378
- C++实现单循环链表:初始化、插入、删除等操作及测试验证(GPT | 2102点数解答 | 2024-10-13 13:39:58)167
- Java 实现通用文件存储系统:含随机读写与空闲空间回收(字节豆包 | 686点数解答 | 2024-11-21 16:25:51)241
- 基于商品效期规则的本地网页管理系统,无需服务器和网络,单HTML文件本地浏览器运行。 商品效期规则: 保质期≥12个月:临期提醒提前45天,下架提前5天(含过期提醒) 6个月≤保质期<12个月:临期提醒提前20天,下架提前3天(含过期提醒) 3个月≤保质期<6个月:临期提醒提前15天,下架提前3天(含过期提醒) 30天≤保质期<3个月:临期提醒提前10天,下架提前3天(含过期提醒) 15天≤保质期<30天:临期提醒提前5天,下架提前3天(含过期提醒) 保质期≤15天:临期提醒提前3天,下架提前2天(含过期提醒) 一定要遵守上门这个规则,状态以上位置,需要一一对应。 严格遵循 6 级保质期规则 → 自动计算「临期/下架/过期」状态(绿/黄/红) 产品管理模块: 商品列表展示:序号、名称、类别、生产日期、保质期、到期日、剩余天数(带单位)、状态(正常/临期/下架(一定要注意,选择类型要根据选择显示),对应绿/黄/红颜色)、操作(编辑、删除、备注),默认按照后添加先排,还需要根据一些条件,比如剩余天数可以筛选排序。 功能:添加商品(弹窗形式,保质期仅支持"XX天"或"XX月"格式)(讯飞星火 | 2053点数解答 | 2026-04-01 23:04:48)31
- Golang开发:解析JSON数据时数值默认类型及示例解析(百度文心 | 393点数解答 | 2023-11-09 18:13:06)306
- SQL Working Areas Sizing: Manual vs. Automatic Policy - A Comprehensive Analysis(阿里通义 | 530点数解答 | 2024-05-13 10:55:58)326