首页 > 编程知识 正文

顺序表的实现(顺序表的两种基本实现方式)

时间:2023-05-06 17:57:28 阅读:82604 作者:379

# #包含iostream

单一名称空间固态硬盘;

# #定义ok 1

# #定义错误0

# #定义最大化10

类型整数元素类型;

类型指定状态;

类型结构

elemtype *数据;

整数长度;

} SqList;

体育菜单(;

statusinitlist(sqlistL ); //初始化

声音分配(sqlistl ); //输入值

voidprintlist(sqlistL; //输出值

statusgetelem (晶体、整数、元素类型e ); //取值

/*statuslocateelem(SQListL,ElemType e ); //寻找值*/

statuslistinsert (晶体、整数、元素类型e ); //插入值

voidlistsort(sqlistL; //排序算法

statuslistdelete(SQListL,整型); //删除值

状态列表插入(sqlistl,元素类型e ); //依次插入

声音列表(清单标签,清单标签); //组合线性表

int主()。

孟u (;

返回0;

}

体育菜单()。

轻量级;

if (初始列表(l==确定) ) ) ) ) ) )。

cout '创建成功' endl;

else

cout '创建失败'结束;

英特尔米;

wile(1) {

cout 'n根据操作选择以下序列号。' 电子邮件;

cout '1.创建顺序表2 .插入操作的执行3 .删除操作的执行' endl;

cout '4.执行输出操作5 .执行查找操作6 .执行排序操作'结束;

cout '7.规则表插入8 .规则表合并结束;

整数,I,x;

数字位数;

交换机(数字) {

case 1:

assign(L ); //写入线性表

布莱克;

case 2:

int elem1,I;

cout '插入要素e和插入位置i' endl;

cin elem1 i;

列表插入(l,I,elem1);

if (列表插入(l,I,元素1==错误) ) ) ) ) ) ) ) ) )。

插入错误结束;

布莱克;

case 3:

cout '要删除的位置' endl ';

因特尔洛克2; //要删除的位置;

cin LOC2;

列表删除(l,LOC2);

打印列表(l;

布莱克;

case 4:

打印列表(l;

布莱克;

case 5: {

int e=0,洛克;

中央洛克; //location

if (获得elem (l,LOC,e )==错误)//取值的操作

出口错误结束;

else

cout '元素的值为:' e endl;

}

布莱克;

case 6: {

列表(l; //排序操作

布莱克;

}

case 7://顺序插入操作

插入元素结束;

int num3;

数字3;

列表插入(l,编号3 );

布莱克;

case 8://明细表

轻量级实验室;

单位列表(LB;

cout '请创建一个新的Lb' endl表

assign(lb;

联合清单(l,Lb );

打印列表(l;

布莱克;

case 0:

返回;

}

}

}

statusinitlist(sqlistL ) {

l .数据=新元素类型{ maxsize };

if (l .数据==空值() () ) ) ) ) ) ) ) ) ) ) )。

返回错误;

l .长度=0;

返回确定;

}

声音分配(sqlistl ) {

铟锡;

请输入cout '元素的数量。' 电子邮件;

cin N;

cout '顺序表的要素' endl;

for (英制=0; i N; I ) {2}

中国数据公司;

l .长度;

}

}

voidprintlist(sqlistL ) )//输出函数

for (英制=0; I .长度; I ) {2}

cout l.data ';

}

}

statusgetelem(sqlistL,整数I,元素类型e ) {

if (i1|||il.length (|il .长度) ) () ) ) ) ) ) ) ) ) ) (如下图所示) ) ) ) (如下图所示) )

返回错误;

e=l .数据;

返回确定;

}

/*英特尔中小企业(sqlistl,ElemType e ) )。

//寻找值为e的东西

for (英制=0; I .长度; I ) )

if (l .数据(I=e ) () ) ) ) ) ) ) ) ) ) ) ) ) )。

返回I 1;

返回0;

()

statuslistinsert(sqlistL,int i,ElemType e ) {

//插入值

if () I1)|) il .长度1 ) )

返回错误;

if (l.length==最大化(maxsize ) ) () ) ) ) ) ) ) )变得更加精确,并且更加精确。

返回错误;

for (intj=l .长度- 1; j=i - 1; j---- )

数据=数据;

}

l .数据=e;

l .长度;

打印列表(l;

返回确定;

}

statuslistdelete(SQListL,int i ) {

删除第//I个要素

if () I1| ) il .长度)

返回错误;

for(intj=I; j=l .长度- 1; j ) {2}

l .数据=l .数据;

}

--l .长度;

返回确定;

}

voidlistsort (硅) )

英特尔,j;

for(I=0; I长度- 1; I ) {2}

for(j=0; 日本航空运输公司; j ) {2}

if (l .数据(j ) l .数据) J1 ) ) {

intn=数据;

数据=数据;

l .数据=n;

}

}

}

}

状态列表插入(sqlistl,元素类型e ) {

int j=1;

for (英寸=1; I=l .长度; I ) {2}

if (El .数据[ I ] (I ) ) (注) ) ) (注) ) ) ) ) (注) ) (注) ) (注) ) ) ) (注) ) ) ) ) ) )中的余数

j;

}

列出插入(l,j,e );

cout终端;

返回确定;

}

清单(清单洛杉矶,清单实验室) {

intj=洛杉矶;

int k=Lb.length;

for (英寸=j 1; I=日本铁路公司; I ) {2}

列出插入(la,I,lb .数据);

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。