线性表——顺序存储结构之静态链表
Posted Tonbby
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线性表——顺序存储结构之静态链表相关的知识,希望对你有一定的参考价值。
引言:C语言中具有的指针能力,可以使它非常容易地操作内存中的地址和数据。后来的面向对象语言,如Java,C#等,虽然没有使用指针,但由于启动了对象引用机制,从某种角度也间接实现了指针的某些作用。但是对于一些早期编程高级语言:Basic、fortran等,不存在指针。在没有指针的情况下,要想使用链表,就要用到静态链表了。
用数组描述的链表称为静态链表(游标实现法) 。
那么怎么实现呢?
首先,我们让数组中的元素都是由两个数据域组成,data和next。data用来存放元素,next相当于链表中的next指针,用来存放元素的后继在数组中的下标。
在定义结构体之前,先进行准备工作:
1 #define MAX 100 //假设此静态链表的最大长度是100 2 #define true 1 //返回值,true为真 3 #define false 0; //返回值,false为假 4 typedef int ElemType; //存放数据元素的数据类型,这里设置为int类型 5 typedef int Boolean; //伪装成Java代码的boolean类型,返回1相当于True,返回0相当于返回false
结构体实现如下:
1 typedef struct space{ 2 ElemType data; //存放数据元素 3 int next; //存放元素的后继在数组中的下标 4 }array[MAX];
以上是关于线性表——顺序存储结构之静态链表的主要内容,如果未能解决你的问题,请参考以下文章