# 数据结构实验 04 ## 功能简介 本项目使用 GNU C11 实现一个简单的终端计算器,包含: - 线性表的添加、插入、删除、修改、查找和遍历; - 向量加法、减法和夹角余弦计算; - 顺序表多项式的加减、乘法、求导和积分; - 链表多项式的加减、乘法、求导和积分; - 四则运算表达式求值; - 实矩阵加减乘、转置、行列式、求逆和特征值计算(特征值可为复数)。 底层实现使用自定义的 `vec` 动态数组和循环双向链表。 ## 编译说明 在项目根目录执行: ```sh make ``` 默认使用 GNU C11 标准编译,生成可执行文件 `calculator`。 编译参数包括 `-std=gnu11 -Wall -Wextra -O2`,链接时使用数学库 `-lm`。 清理编译文件: ```sh make clean ``` ## 使用说明 运行程序: ```sh ./calculator ``` 在主菜单中选择线性表、向量、顺序表多项式、链表多项式、表达式计算或矩阵运算。矩阵运算入口为菜单项 6,先输入矩阵 A、B 的行列数及各行元素,再选择运算。菜单支持方向键或 `j`/`k` 移动,按 Enter 确认,按 `Esc` 或 `q` 返回或退出。 运行测试: ```sh make test ```