首页 > 其他分享 >2.2线性表的顺序表示

2.2线性表的顺序表示

时间:2023-10-16 20:22:55浏览次数:35  
标签:顺序 线性表 int 元素 SqList 2.2

2.2.1顺序表的定义

知识总览

顺序表的定义

顺序表――用顺序存储的方式实现线性表顺序存储。把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来体现。

顺序表的实现——静态分配

静态顺序表

#include<stdio.h>
#define MaxSize 10
typedef struct{
	int data[MaxSize];
	int length;
}SqList; 
void InitList(SqList &L){
	L.length=0; //顺序表初始长度为0 
}
int main(){
  SqList L;  //声明一个顺序表 
  InitList(L);  //初始化顺序表 
  for(int i=0;i<MaxSize;i++)
     printf("data[%d]=%d\n",i,L.data[i]);
  return 0;
}

 

顺序表的特点:

1随机访问,即可以在 O(1}时间内找到第i个元素。

2存储密度高,每个节点只存储数据元素

3拓展容量不方便(即便采用动态分配的方式实现,拓展长度的时间复杂度也比较高)

4插入、删除操作不方便,需要移动大量元素

总结

 

标签:顺序,线性表,int,元素,SqList,2.2
From: https://www.cnblogs.com/zhangsai/p/17768235.html

相关文章

  • C语言实现顺序表二
    ////main.c//SeqList2////Createdbystevexiaohuzhaoon2023/10/15.//#include<stdio.h>#include<stdlib.h>#defineMAXSIZE100/*表示线性表的最大长度*///定义一个顺序表节点structSNode{//用来存储书序表中的数据(动态分配数组)......
  • 最优性剪枝,可行性剪枝,优化搜索顺序,排除等效冗余
    杨辉三角:  //https://www.luogu.com.cn/problem/P1118//最优性剪枝://由高中知识可得,abcd四个数符合杨辉三角的数相乘,即//res=a+3*b+3*c+d,前面的常数项也就是杨辉三角的数字//根据此结论,进行剪枝//由于暴力枚举全排列+部分剪枝不可过,所以要考虑方法性剪枝......
  • 线性表-顺序表
    1.概念理解:顺序线性表有点像数据,在物理空间上是顺序排序的2.顺序表的存储:#defineSQLMAXSIZE100typedefsturct__SqlElemType{intnumber;charname;floatscore;}SqlElemType;//先定义每个元素中所包含的类型,也就是一个数据元素结构typedefstruct__Sqlist{SqlElemT......
  • C 语言实现顺序表一
    ////main.c//SeqList////Createdbystevexiaohuzhaoon2023/10/15.//#include<stdio.h>#include<stdlib.h>#defineMAXSIZE100//定义一个顺序表的节点structLNode{//用char类型数组来保存数据chardata[MAXSIZE];intlength;};......
  • 搜索与图论2.2-Floyd算法
    一、简述\(Floyd\)算法是一种可以快速求解图上所有顶点之间最短路径的算法。\(Bellman-Ford\)和\(Dijkstra\)算法求解的都是从一个起始点开始的最短路。如果想要求解图中所有顶点之间的最短路,就需要枚举每个点做为起点,这样十分低效。\(Floyd\)算法(也称\(Floyd-Warshall\)......
  • 线性表(2)顺序表
    线性表(2)顺序表定义顺序表是一种存储结构,指的是线性表中逻辑相邻的元素在物理内存上也相邻,其用一块连续的地址空间存放表中的数据元素。也就是说,对于表\(A(a_1,a_2,a_3,\dots,a_n)\),设表中元素的大小为\(size\),其物理地址如下:地址Loc(A)Loc(A)+sizeLoc(A)+2size.........
  • 【2023潇湘夜雨】WIN11_Pro_23H2.22631.2428软件选装纯净版10.12
    【系统简介】=============================================================1.本次更新母盘来自WIN11_Pro_23H2.22631.2428。2.增加部分优化方案,手工精简部分较多。3.OS版本号为22631.2428。精简系统只是为部分用户安装,个别要求高的去MSDN下。4.集成《DrvCeo-2.13.0.8》网卡版、......
  • Java多态及类初始化顺序
    多态多态是Java面向对象的三大特性之一,多态建立于封装和继承之上,指对于父类中定义的属性和方法被子类继承后,可以具有不同的数据类型或表现出不同的行为。可分为编译时多态和运行时多态,编译时多态是静态的,通过方法的重载体现,通过编译之后会产生不同的方法;运行时多态通过动态绑定......
  • 【vue2】实现css动效逐个顺序展示的效果(简陋版)
    效果(进入预约里程碑模块后,小人从第一个台阶逐个闪烁出现在当前预约等级之前的台阶并消失,最终停留在当前预约等级的台阶上): 虽然很low但是!就是这么设计的!于是在原本静态的代码上稍加了些修改(为什么,为什么,想问天问大地)首先是台阶部分的代码:<div:class="$style.reserveBox......
  • 王道408---DS---线性表、栈、队列与数组
    错题2.21、题目中提到在第i个位置一般是指在下表为i的位置2、线性表元素的序号是从1开始,而在第n+1个位置插入相当于在表尾追加。静态链表树的双亲表示法就是使用了这种思想吧卡特兰数\[\text{}\frac1{n+1}C_{2n}^{n}\]栈的数学性质:n个不同元素进栈,出栈元素不同排列的个......