diff --git a/1 绪论.md b/1 绪论.md
new file mode 100644
index 0000000..e92447d
--- /dev/null
+++ b/1 绪论.md
@@ -0,0 +1,19 @@
+# 第一章 绪论
+
+## 1.2 基本概念和术语
+
+**数据(data)**:对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。他是计算机程序加工的「原料」。
+
+**数据元素(data element)**:数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。有时,一个数据元素可由若干个 **数据项(data item)** 组成。
+
+**数据对象(data object)**:性质相同的元素的集合,是数据的一个子集。例如,整数数据对象是集合 $N=\{0,\pm1,\pm2,\cdots\}$。
+
+**数据结构(data structure)**:相互之间存在一种或多种特定关系的数据元素的集合。
+
+**存储结构**:数据结构在计算机中的表示(又称映像)称为数据的 **物理结构**,又称 **存储结构**。它包括数据元素的表示和关系的表示。
+
+> 逻辑结构面向实际,独立与数据结构,而存储结构为映射。
+
+**数据类型(data type)**:一个值的集合和定义在这个值集上的 一组操作 的总称。
+
+**抽象数据类型**
\ No newline at end of file
diff --git a/2 线性表.cpp b/2 线性表.cpp
deleted file mode 100644
index bf35b5a..0000000
--- a/2 线性表.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-#include
-#include
-using namespace std;
-
-// 线性表
-
-// ---线性表的静态分配顺序存储结构---
-#define MAXSIZE 50 // 定义线性表最大长度
-typedef struct {
- int data[MAXSIZE]; // 顺序表的元素
- int length; // 顺序表当前长度
-} SqList;
-
-// ---线性表的动态分配顺序存储结构钢---
-#define INITSIZE 100 // 线性表存储空间的初始分配量
-#define LISTINCREMENT 10 // 线性表存储空间的分配增量
-typedef struct 线性表 {
- int *data1; // 存储空间基址
- int MAXSIZE1, length1;
-} SqList1;
-
-int main() {
- return 0;
-}
\ No newline at end of file
diff --git a/2 线性表.md b/2 线性表.md
index bc6412f..c1a1b73 100644
--- a/2 线性表.md
+++ b/2 线性表.md
@@ -7,3 +7,22 @@
若将线性表记为
$$(a_1,\cdots,a_{i-1},a_i,a_{i+1},\cdots,a_n)$$
+
+```cpp
+// ---线性表的静态分配顺序存储结构---
+#define MAXSIZE 50 // 定义线性表最大长度
+typedef struct {
+ int data[MAXSIZE]; // 顺序表的元素
+ int length; // 顺序表当前长度
+} SqList;
+```
+
+```cpp
+// ---线性表的动态分配顺序存储结构钢---
+#define INITSIZE 100 // 线性表存储空间的初始分配量
+#define LISTINCREMENT 10 // 线性表存储空间的分配增量
+typedef struct {
+ int *data; // 存储空间基址
+ int MAXSIZE, length;
+} SqList;
+```
\ No newline at end of file