数据结构-线性顺序表操作
来源:互联网 发布:霍华德站立摸高数据 编辑:程序博客网 时间:2024/06/03 12:28
1.初始化:构造一个空的顺序表,length域为0,表示表中没有数据元素
算法如下:SeqList SeqListInit()
{// 构造一个空的线性表L
SeqList L;
L.length= 0;
return L;
}
2.插入操作:插入位置i,即在ai前插入数据,x,则原有i-1 的位置为x,i-2 前,顺序不变,i之后的位置,顺序后移
a1,a2,……ai-1,x,ai,……an算法如下:利用j 将顺序表中,i-1 之后的所有元素后移,将i-1 位置赋值给x,时间复杂度 为O(n)
void SeqListInsert(SeqList L,int i,ElemType x)// i 为位置
{//在顺序表中的第i个位置插入元素x
if(L.length == MAXSIZE)
{printf(" 表满");exit(0)}
if(i<1 || i>L.length+1)
{printf("位置错");exit(0)}
for(j=L.length-1;j>=i-1;j--)
{
L.data[j+1] = L.data[j];
}
L.data[i-1] = x;
L.length ++;
3.删除,第i个元素,第i个元素的位置为i-1,该位置后的所有元素上移一位}
a1,a2,……ai-1,ai,ai+1……an
算法如下:时间复杂度O(n)
void SeqListDelete(SeqList L,int i)
{//删除顺序表中的第i元素
if(i<1 || i>L.length)
{print("位置非法");exit(0)}
for(j=i;j<=L.length-1;j++)
{L.data[j-1] = L.data[j];}
L.length --;
}
4.按值查找
线性表中的按值查找,依次比较两个值,相等,返回位置
算法如下:时间复杂度O(n)
int SeqListLocate(SeqList L,ElemType x)
{//在顺序表L中查询第一个与x值相等的元素,若查找成功,返回下标
i=1;
while(i <= L.length && L.data[i-1]!=x)
i++;
if(i<=L.length)
return i;
else
return 0;
}
- 数据结构-线性顺序表操作
- 数据结构---线性顺序表操作(c++)
- 数据结构-顺序线性表基本操作实现
- 数据结构--顺序线性表
- 数据结构--顺序线性表
- 线性数据结构--顺序表
- 数据结构-线性顺序表
- 数据结构—线性表之顺序表的操作
- 数据结构之线性表中顺序表的基本操作
- 数据结构之线性表(顺序表)的基本操作
- 数据结构之顺序结构线性表之操作
- 【数据结构】线性表顺序结构的操作---C/C++语言
- C++数据结构之线性顺序表基本操作
- 【数据结构】线性表顺序结构的操作---C/C++语言
- 【数据结构】线性表顺序结构之增删操作
- 数据结构--线性表的顺序表示及操作
- 数据结构学习---线性表顺序存储结构的基本操作
- 数据结构-线性表-顺序表
- -bash: ssh: command not found
- [springBoot系列]--springBoot注解大全
- javascript刷新父页面的各种方法汇总
- Error:android.app.ServiceConnectionLeaked:就是leaked ServiceConnection的错误
- vmware vsphere创建和管理虚拟机
- 数据结构-线性顺序表操作
- Html-如何正确给table加边框
- Java IO
- ORA-09925: Unable to create audit trail file
- Linux基础——第一关
- VMware12版虚拟机怎么安装win7系统(详细教程)
- 记录:non-compatible bean definition of same name and class [com.XXX.XXX]
- Java通过python命令执行DataX任务
- WINDOW与LINUX的TCP/IP通信