码迷,mamicode.com
首页 > 其他好文 > 详细

线性表——顺序存储结构之静态链表

时间:2018-05-10 14:28:04      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:高级语言   存在   返回   引用   c语言   没有   间接   情况下   def   

  引言: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];        

 

 

 

  

  

线性表——顺序存储结构之静态链表

标签:高级语言   存在   返回   引用   c语言   没有   间接   情况下   def   

原文地址:https://www.cnblogs.com/tonbby/p/9019117.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!