顺序表

wakingup wakingup     2022-10-24     555

关键词:

线性表:由同类数据元素构成的有序序列的线性结构

实现方式分两种:顺序存储实现(ArrayList)和链式存储实现(LinkList)

顺序表

0、结构初始化

顺序表结构如图:

技术分享图片

struct ListNode 
    ElementType Data[MaxSize];  //定义一个大小为MaxSize的数组
    int Last;                   //最后一个元素所在的位置
;


1、建立(空顺序表)

struct ListNode* MakeEmpty() 
    struct ListNode* P;

    P=(struct ListNode*)malloc(sizeof(struct ListNode));
    P->Last=-1;
    return p;


2、查找

//找不到则返回-1,找到则返回i
int Find(ElementType x,struct ListNode* P) 
    int i=0;

    while (i<=P->Last&&P->Data[i]!=x) i++;
    if (i>P->Last)
        return -1;
    else
        return i;


3、插入

图解如下:

技术分享图片

//第 i (1≤i≤n+1)个位置上插入一个值为X的新元素
//即在下标为i-1位置上,插入元素x
void Insert(ElementType x,int i,struct ListNode* P) 
    int j;

    //判断表空间是否已满
    if (p->Last==MaxSize-1) return ;
    //检查插入合法性
    if (i<1 || i>p->Last+2) return ;

    //数据往后挪,然后再插入
    for (j=p->Last;j>=i-1;j--) 
        p->Data[j+1]=p->Data[j];
    
    p->Data[i-1]=x;
    p->Last++;


4、删除

图解如下:

技术分享图片

//删除表的第 i (1≤i≤n)个位置上的元素
//即删除下标为i-1位置的元素
void Delete(int i,struct ListNode* p) 
    int j;

    //判断元素是否存在
    if (i<1 || i>p->Last+1) return ;

    for (j=i-1;j<p->Last;j++) 
        p->Data[j]=p->Data[j+1];
    
    p->Last--;






数据结构之顺序表(代码片段)

目录顺序表概念顺序表实现静态顺序表的结构定义动态顺序表的结构定义顺序表初始化顺序表打印检查空间进行扩容顺序表尾插顺序表尾删顺序表头插顺序表头删顺序表查找在任意位置插入在任意位置删除顺序表销毁头文件源文... 查看详情

线性表之顺序存储结构(顺序表)(代码片段)

目录1.线性表2.顺序存储结构(顺序表)2.1顺序表一般可以分为: 1.静态顺序表:使用定长数组存储元素 1.1静态顺序表:顺序表的大小是确定的,容量是固定的.    结论:静态顺序表不是很常量,了解就行.2.动态顺序表:... 查看详情

数据结构之顺序表(代码片段)

文章目录线性表顺序表的概念及结构顺序表的功能实现定义顺序表顺序表初始化顺序表打印顺序表尾插顺序表尾删顺序表头插顺序表头删查找指定元素在指定位置插入删除指定位置销毁顺序表总结SeqList.hSeqList.c线性表线性表(linea... 查看详情

顺序表基本操作(代码片段)

顺序表一、顺序表是什么?二、顺序表分类1.静态顺序表:2.动态顺序表:三、接口实现头文件设置顺序表大小设置顺序表最大容量顺序表初始化顺序表销毁顺序表打印顺序表尾插顺序表尾删顺序表头插顺序表头删判... 查看详情

数据结构顺序表(代码片段)

前言:本章介绍的主要内容是顺序表文章目录1.线性表2.顺序表2.1概念及结构2.2顺序表分类3.动态顺序表项目创建3.1定义顺序表思考下为何使用typedef?3.2顺序表的初始化思考这样进行初始化可行否?修改后的正确初始... 查看详情

数据结构之顺序表(代码片段)

文章目录前言顺序表项目详细分配.定义顺序表顺序表之初始化方法实现顺序表之打印方法顺序表之尾插方法实现顺序表之检查容量方法实现顺序表之头插方法实现顺序表之尾删方法实现顺序表之头删方法实现顺序表之查找元素... 查看详情

顺序表与链表

顺序表与链表顺序表?顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。?线性表采用顺序存储的方式存储就称之为顺序表。顺序表是将表中的结点依次存放在计... 查看详情

顺序表的实现以及力扣练习题(代码片段)

目录线性表顺序表顺序表的实现顺序表的初始化顺序表的销毁顺序表的打印顺序表检查是否要扩容顺序表的尾插顺序表的头插顺序表的尾删顺序表的头删顺序表的查找顺序表在pos位置插入x顺序表删除pos位置的值顺序表修改pos位... 查看详情

1.2顺序表

...方法就是用一组连续地址的内存单元来存储整张线性表。顺序表的特征:  1)有一个唯一的表名来标识该顺序表;  2)内存单元连续存储,也就是说,一张顺序表要占据一块连续的内存空间;  3)数据顺序存放,元素之... 查看详情

顺序表(代码片段)

顺序表1、什么是顺序表顺序表是将表中的数据依次存放在计算机内存中一组地址连续的存储单元中的一种数据结构,可以将顺序表看成一个可以动态改变大小的数组。数据元素物理存储的相邻关系来反映数据元素之间逻辑上的... 查看详情

数据结构c语言版——顺序表增删改查实现(代码片段)

文章目录顺序表1.线性表2.顺序表3.顺序表基本概念4.顺序表实现顺序表初始化顺序表的扩容顺序表的插入顺序表的删除顺序表的查找顺序表的修改顺序表的销毁5.顺序表总结顺序表1.线性表线性表:线性表是由n个具有相同特性... 查看详情

数据结构学习笔记--顺序表(代码片段)

1.顺序表概念顺序表是用以一段物理地址连续的存储单眼依次存储数据元素的线性结构,一般情况采用数组存储。在数组上完成数据的增删查改。顺序表一般分为静态顺序表和动态顺序表,这里主要讲如何实现动态顺序表... 查看详情

数据结构——java实现顺序表

一、分析  什么是顺序表?顺序表是指用一组地址连续的存储单元依次存储各个元素,使得在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中的线性表。一个标准的顺序表需要实现以下基本操作:  1、初始化顺序... 查看详情

数据结构线性表之顺序表arraylist(代码片段)

一、什么是顺序表  在了解顺序表之前,需要先了解什么是顺序表?顺序表是线性表的一种,线性表分为顺序表和链表。其中顺序表在java中又分为数组(最简单的顺序表)和ArrayList。为什么我们称其为顺序表呢?原因顾名思... 查看详情

顺序表

...类数据元素构成的有序序列的线性结构实现方式分两种:顺序存储实现(ArrayList)和链式存储实现(LinkList)顺序表0、结构初始化顺序表结构如图:structListNodeElementTypeData[MaxSize];//定义一个大小为MaxSize的数组intLast;//最后一个元素... 查看详情

08顺序表定义

顺序表的定义一、顺序表的静态存储分配#definemaxSize100 //显式地定义表的长度typedefintDataType; //定义表元素的数据类型typedefstruct //顺序表的定义{ DataTypedata[maxSize]; //静态分配存储表元素的向量 intn; //实... 查看详情

c语言实现顺序表(初阶数据结构)(代码片段)

文章目录前言顺序表的介绍项目分配顺序表的定义顺序表的初始化顺序表的打印顺序表的销毁顺序表的尾插增容函数的实现顺序表的头插顺序表的任意位置插入数据顺序表的尾删顺序表的头删顺序表的任意位置删除顺序表的查找... 查看详情

顺序表分析(代码片段)

文章目录一、顺序表的概念二、顺序表的增删查改1、顺序表结构体2、顺序表初始化3、顺序表数据增加4、顺序表删除5、顺序表查找6、顺序表修改7、顺序表打印三、源码四、小结一、顺序表的概念顺序表是一段物理地址连续的... 查看详情