2、数据结构之线性表的顺序表示

作者: 萍儿的小确幸 | 来源:发表于2019-11-29 22:48 被阅读0次

线性表,从字面上来看,就是像线一样把数据元素串联起来的表。

线性表的顺序存储,就是用一段地址连续的存储单元依次存储线性表的数据元素。就比如,考试时候,需要提前安排好教室,考生的座位呢都要按照考号去排列。

一、定义最大长度为50的线性表

#define maxsize 50  //定义表的初始长度

typedef struct{

ElemType data[maxsize]; //元素

int length; //当前长度

}SqList;  //顺序表类型

二、插入:在第i(1<=i<=L.length+1)个位置插入新元素e;输入不合法返回false;插入成功返回true

bool in_list (SqList &L,int i,Elemtype e){

if (i<1||i>L.length+1){return false;} //判断i是否有效

if (L.length>=maxsize){return false;} //判断当前存储空间是否已满

for(int j=L.length,j>i-1,j--){  //依次将第i个元素以及之后的元素后移

L.data[j]=L.data[j-1];

}

L.data[i-1]=e;  //在第i个元素位置插入e

L.length++;  //线性表长度加一

return true;  //返回true

}

三、删除:删除L中第i(1<=i<=L.length)个位置的元素,成功则返回true,并将被删除的元素用引用变量e返回,否则返回false

bool drop_list(SqList &L,int i,Elemtype &e){

if(i<1||i>L.length){return false;}

e=L.data[i-1];

for(int j=i-1,j<=L.length-1,j++){

L.data[j]=L.data[j+1];

}

L.length--;

return true;

}

四、查找:在L中查找第一个元素值等于e的元素,并返回其位序

int sele_list(Sqlist &L,Elemtype e){

for(int j=0,j<L.length,j++){

if(L.data[j]==e){

return j+1;}

}

return 0;

}

五、删除具有最小值的元素,并由函数返回被删除元素的值,空出的位置由最后一个元素补填

bool dele_min(Sqlist &L,ElemType &a){

if (L.length==0){return false;}

//查找最小

int i;

a=L.data[0]

for(int j=1,j<L.length,j++){

if(a>L.data[j]){

a=L.data[j];

i=j;

}

}

六、删除最小,用最后一个元素填补

if(i!=L.length-1){

L.data[i]=L.data[L.length-1];

  }else{L.data[i]=L.data[L.length-1-1];}

return true;

}

相关文章

  • 数据结构-线性表的顺序表示以及实现(C语言)

    数据结构-线性表的顺序表示 线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素,这种表示也称作...

  • 数据结构之线性表的链式存储结构

    之前写了线性表的顺序存储结构和有序线性表的顺序存储结构,今天接着写线性表的链式存储结构 数据结构之线性表的顺序存储...

  • 2、数据结构之线性表的顺序表示

    线性表,从字面上来看,就是像线一样把数据元素串联起来的表。 线性表的顺序存储,就是用一段地址连续的存储单元依次存储...

  • 栈和队列

    栈和队列也是一种线性表,只不过它们是一种操作受限的线性表。其存储形式还是可以按照线性表的数据结构来表示(顺序表示:...

  • 顺序头文件

    顺序头文件 //c2-1.h线性表的动态分配顺序存储结构 顺序表基本方法 //bo2-1.cpp顺序表示的线性表的...

  • 【数据结构】线性表之单链表

    完整代码需结合前面一篇顺序表数据结构学习-线性表之顺序表各种操作网易云课堂小甲鱼课程链接:数据结构与算法 线性表的...

  • ArrayList源码学习(1)

    数据结构定义 从数据结构的角度来说,ArrayList是线性表基于java的顺序表示和实现,数据结构中定义其是一组...

  • 数据结构03-线性表之顺序表

    第三章 线性表之顺序表 第三章 线性表之顺序表一、什么是线性表?1> 概念2> 线性表的基本操作二、线性表的顺序存...

  • # 数据结构和算法系列1 线性表之顺序表

    阅读目录 什么是线性表线性表的两种存储结构顺序表的存储结构表示顺序表的常见操作和代码实现 数据结构与算法这块一直是...

  • Ⅰ. 线性表

    线性表是最常用最简单的一种数据结构 本部分将总结线性表的两种表示方式 顺序存储表示 --- 数组数组又分为静态分配...

网友评论

    本文标题:2、数据结构之线性表的顺序表示

    本文链接:https://www.haomeiwen.com/subject/eukgwctx.html