上一篇,我们了解了什么是线性表。那么今天,让我们来看看如何用代码去实现线性表。在这里,我更喜欢用C++去实现相关的数据结构,因为我总是感觉,用C++来实现数据结构,更加直观。在debugger时,我们能够更清晰的感受到每一个节点的变化,以及指针位置的变化。如果用java的话反倒失去了这种乐趣。那么让我们开始吧。
线性表,由于存储结构的不同,分为顺序表和链表。其中,链表又有:单链表、双链表、循环单链表、循环双链表、静态链表。如何用编程语言来实现他们的数据结构呢?
1、顺序表:
#include <iostream>
using namespace std;
#define MAXSIZE 100
//定义一个顺序表
typedef struct SQlist
{
int data[MAXSIZE];
int length;
}SQlist;
2、单链表:
//定义一个单链表
typedef struct LNode
{
int data;//数据域
struct LNode *next;//指针域,指向后继节点
}LNode;
3、双链表
//定义一个双链表
typedef struct DLNode
{
int data; //数据域
struct DLNode *prior; //后继节点
struct DLNode *next; //后继节点
}DLNode;
以上分别为用编程语言去定义一个线性表。那么我们如何去初始化他呢?这些线性表又有哪些有趣的算法呢?
持续更新中!!!