数据结构实验练习.pdfVIP

  • 0
  • 0
  • 约4.42万字
  • 约 35页
  • 2026-03-02 发布于河北
  • 举报

实验一

//includestdio.h

//includestdlib.h

//defineMAXSIZE100

typedefintElemType;

typedefstuctlist

(

ElemType*elem;〃指针定义数组

intlistsize;

intlength;

JSqlist;

voidinitlist_sq(Sqlist*L)

(

L-elem=(ElemType*)malloc(MAXSIZE*sizeof(ElemType));

if(!L-elem)exit(O);

L-length=O;

L-listsize=MAXSIZE;

}

〃在线性表L的第n个元素之前插入元素x

voidmset_sq(Sqlist*L,intn,tlemlypex)

(

inti;

〃检查插入位置n的合法性

if(n1||nL-length+1)

(

pintf(插入的位置n非法\n);

etun;

)

〃检查线性表是否为满

if(L-length=L-listsize)

(

pintf(线性表满了!\n“);

etun;

)

〃插入点之后的元素循环后移•个位置

fo(i=L-length;i=n;i~)

L-elem[i]=L-elem[i-l];

〃将代插入的元素存入到下标为n-1的位置

L-elem[n-l]=x;

〃修改线性表的长度

L-length++;

)

〃利用插入方法实现创建指定长度的线性表L

voidceat_sq(Sqlist*L)

(

inttablen,i=l;

ElemTypetemp;

pintf(请输入顺序表的长度\n“);

scanf(%d,tablen);

pintf(请输入%d个数据\n,tablen);

do

(

〃输入待插入的元素temp

scanf(%d,temp);

〃将元素temp插入到线性表L的第i个位置

inset_sq(LJ,temp);

〃修改i的值,以便下一次进行插入

i++;

}while((i=tablen)(iL-listsize));

)

〃打印线性表中的所有元素

voiddisplay_sq(Sqlist*L)

(

inti;

i=0;

do

(

〃打印线性表L中下标为i的元素

pintf{%d\t,L-elem[i]);

)

while(++iL-length);

pintf”(\n**********顺序表打印完毕**********\n\n“;)

〃在线性表L中查找元素x,若存在范围其位置;若不存在返回0

intSeach_sq(Sqlist*L,ElemTypex)

(

inti;

i=0;

do

(

〃比较线性表中下标为i的元素与指定值X是否相等,

文档评论(0)

1亿VIP精品文档

相关文档