线性表

数据结构和算法,这是第一篇。

线性表是元素之间的线性关系,也就是“一个接一个”。
有两种实现,一种是顺序表,一种是链表。

–顺序表

顺序表是用一块连续的内存空间存放数据,所以好处就是定位某个位置的元素是比较容易,
但插入删除时需要移动元素,导致效率低。

一般顺序表的数据结构定义如下:

1
2
3
4
typedef struct {
T data[maxsize];
int last;
}

我实现了一个完整的顺序表的类,点这里查看
包括了一些基本的操作,如插入元素,定位元素,删除元素等。

–链表

链表是用指针实现的,不需要连续的内存空间,所以插入删除速度很快。
但相应的,由于地址不连续,定位某个位置的元素会比较慢。

链表的数据结构一般包含两个部分,数据域和指针域。如下:

1
2
3
4
typedef struct Node{
T data;
struct Node *next;
}

同样我也实现了一个完整的链表类,点这里查看
实现了增删改查。

letangers wechat
关注一波,写写bug