顺序表——顺序存储结构

技术顺序表——顺序存储结构 顺序表——顺序存储结构#includestdio.h#includestdbool.h#define MaxSize 20typedef int DataType;typed

顺序表——顺序存储结构

# includestdio.h

# includestdbool.h

#定义最大尺寸20

typedef int DataType

typedef结构

{

数据类型数据[MaxSize];

(同Internationalorganizations)国际组织长度;

} SqList

void Init_List(SqList * L,int DataType[],int n);//顺序表初始化

bool Insert_List(SqList * L,int pos,int x);//顺序表插入

bool Delete_List(SqList * L,int pos,int * x);//顺序表删除

bool Empty _ List(SqLiST * L);//判空

bool Full _ List(SqLiST * L);//判满

int Locate_List(SqList * L,int x);//按值查找

bool Get_List(SqList * L,int pos,int * x);//按位查找

int Length _ List(SqLiST * L);//顺序表长度

void Traverse _ List(SqLiST * L);//遍历线性表

int main()

{

SQL LiST L;

int x,val

int a[8]={12,32,43,55,34,76,81,59 };//定义数组

Init_List(L,a,8);

printf('\n遍历顺序表:');

遍历列表(L);

printf('\n线性表长度:%d\n ',Length _ List(L));

if(Insert_List(L,1,80))

{

printf('\n插入成功!\ n ');

printf('插入的元素:80 \ n ');

printf('位置:第一个位置\ n ');

}

其他

printf('\n插入失败!\ n ');

printf('遍历顺序表:');

遍历列表(L);

Delete_List(L,2,val);

printf('\n删除的元素:%d\n ',val);

printf('位置:第2个位置\ n ');

printf('遍历顺序表:');

遍历列表(L);

如果(定位列表(1,55))

{

printf('\n按值查找成功!\ n ');

printf('查找的元素是:55 \ n ');

printf('位置:第%d个位置\n ',Locate_List(L,55));

}

其他

printf('\n按值查找失败\ n ');

if(Get_List(L,2,x))

{

printf('\n按位查找成功\ n ');

printf('位置:第2个位置\ n ');

}

其他

printf('\n按位查找失败!\ n ');

printf('您查找的元素为:%d\n ',x);

printf('\n遍历顺序表:');

遍历列表(L);

返回0;

}

void Init_List(SqList * L,int DataType[],int n)

{

int I;

if(nMaxSize)

printf('存储空间不足!\ n ');

for(I=0;在;I){ 0

我数据[I]=DataType[I];

}

我长度=n;

返回;

}

bool Insert_List(SqList * L,int pos,int x)

{

int I;

如果(完整列表(左))

返回错误的

if(POS1 | | POSl-长度1)

返回错误的

对于(1=1-长度;i=posi -)

L-数据[我]=L-数据[I-1];

我数据[pos-1]=x;

我长度;

返回真;

}

bool Delete_List(SqList * L,int pos,int * val)

{

int I;

如果(空列表(左))

返回错误的

* val=L-数据[位置-1];

for(I=pos;表示“不”长度;(一)

L-数据[I-1]=L-数据[一];

我长度-;

返回真;

}

布尔空列表(SqList * L)

{

如果(L-长度==0)

返回真;

其他

返回错误的

}

bool Full_List(SqList * L)

{

如果(L-长度==MaxSize)

返回真;

其他

返回错误的

}

int Locate_List(SqList * L,int x)

{

int I;

for(I=0;表示“不”长度;(一)

{

if(x==L-数据[i])

返回一1;

}

返回0;

}

bool Get_List(SqList * L,int pos,int * x)

{

int I;

if(pos1 | | POSl-长度)

返回错误的

* x=L-数据[位置-1];

返回真;

}

int Length_List(SqList *L)

{

返回L-长度;

}

void Traverse_List(SqList * L)

{

int I;

for(I=0;表示“不”长度;(一)

printf('=',L-data[I]);

printf(' \ n ');

返回;

}

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/62065.html

(0)

相关推荐

  • springboot如何使用拦截器判断是否登录

    技术springboot如何使用拦截器判断是否登录这期内容当中小编将会给大家带来有关springboot如何使用拦截器判断是否登录,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。spri

    攻略 2021年11月9日
  • rt-thread怎么修改默认的串口配置(如何打开rt-thread工程)

    技术如何进行RT-Thread中断管理本篇文章给大家分享的是有关如何进行RT-Thread中断管理,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。下面是关于R

    攻略 2021年12月17日
  • sqlite和mysql的区别有哪些

    技术sqlite和mysql的区别有哪些这篇文章主要为大家展示了“sqlite和mysql的区别有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“sqlite和mysql的

    攻略 2021年12月2日
  • spring成神之路第四十八篇:@Transaction 事务源码解析

    技术spring成神之路第四十八篇:@Transaction 事务源码解析 spring成神之路第四十八篇:@Transaction 事务源码解析大家好,今天咱们通过源码来了解一下spring中@Tra

    礼包 2021年11月7日
  • JavaScript怎么实现自定义日历效果

    技术JavaScript怎么实现自定义日历效果本篇内容主要讲解“JavaScript怎么实现自定义日历效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript怎

    攻略 2021年11月8日
  • thinkphp怎么开启api(thinkphp命令行怎么设置)

    技术thinkphp大d方法怎么使用这篇文章主要介绍“thinkphp大d方法怎么使用”,在日常操作中,相信很多人在thinkphp大d方法怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家

    攻略 2021年12月16日