Go语言实现顺序存储的线性表实例
本文实例讲述了Go语言实现顺序存储的线性表的方法。分享给大家供大家参考。具体如下:
代码如下:
///////// //顺序存储线性表 //////// packagemain import"fmt" constMAXSIZE=20//定义数组长度 //定义线性表结构 typeListstruct{ Element[MAXSIZE]int//存储线性表元素的数组 length int //线性表长度 } //初始化线性表,d:初始化的元素,l位置 func(l*List)InitList(dint,pint){ l.Element[p]=d l.length++ } //插入元素 //d:插入的数据 //p:插入位置 func(l*List)Insert(dint,pint)bool{ ifp<0||p>=MAXSIZE||l.length>=MAXSIZE{ returnfalse } ifp<l.length{ fork:=l.length-1;k>=p;k--{ l.Element[k+1]=l.Element[k] } l.Element[p]=d l.length++ returntrue }else{ l.Element[l.length]=d l.length++ returntrue } } //删除元素 //p:删除元素的位置 func(l*List)Delete(pint)bool{ ifp<0||p>l.length||p>=MAXSIZE{ returnfalse } for;p<l.length-1;p++{ l.Element[p]=l.Element[p+1] } l.Element[l.length-1]=0 l.length-- returntrue } funcmain(){ varlList i:=0 b:=1 //初始化一个线性表 fori<15{ l.InitList(b,i) i++ b++ } //插入一个元素 l.Insert(1,13) //删除一个元素 l.Delete(5) fmt.Println(l) }
希望本文所述对大家的Go语言程序设计有所帮助。