近期在复习考研数据结构,在此记录对应部分的代码实现和思考。
首先接触到的数据结构就是线性表。线性表有两种存储结构可分,分别为顺序表和链表。
一、顺序表
1、定义表结构
顺序表简单理解的话,在C语言中也就是一个数组。我们可以通过数组下标访问表内的元素。
首先我们定义元素的数据类型:
// 定义元素的数据类型
typedef int elemtype;
这样每个元素会以int类型存储,且方便移植和修改。
接着定义表结构。我们需要一个数组来存放数据,另外还需要一个变量来指示当前顺序表的长度。顺序表的大小在创建时就已确定,因此我们还可以设置一个常量作为数组初始化大小的依据。
// 定义顺序表的大小
#define MAXSIZE 50
// 定义顺序表结构
typedef struct{
elemtype data[MAXSIZE];
int length;
}SeqList;
在这里附加typedef结构体的使用方法:
a. 先struct再typedef:
struct SeqList {
int data;
};
typedef struct SeqList SeqList;
b. 合并使用:
typedef struct{
int data;
}SeqList;