summaryrefslogtreecommitdiff
path: root/lab03/README.md
blob: 907f8ff87fde98dd025d30fa1483730e003a3fd1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# 数据结构实验 03

## 功能简介

本项目使用 GNU C11 实现一个简单的终端计算器,包含:

- 线性表的添加、插入、删除、修改、查找和遍历;
- 向量加法、减法和夹角余弦计算;
- 顺序表多项式的加减、乘法和求导;
- 链表多项式的加减、乘法和求导。
- 四则运算表达式求值。

底层实现使用自定义的 `vec` 动态数组和循环双向链表。

## 编译说明

在项目根目录执行:

```sh
make
```

默认使用 GNU C11 标准编译,生成可执行文件 `calculator`。

编译参数包括 `-std=gnu11 -Wall -Wextra -O2`,链接时使用数学库 `-lm`。

清理编译文件:

```sh
make clean
```

## 使用说明

运行程序:

```sh
./calculator
```

在主菜单中选择线性表、向量、顺序表多项式,链表多项式或者四则运算表达式功能。菜单支持方向键或 `j`/`k` 移动,按 Enter 确认,按 `Esc` 或 `q` 返回或退出。

运行测试:

```sh
make test
```