顺序表中静态顺序表的创建、插入和删除一个元素(源码分析)

2024-06-19 16:08

本文主要是介绍顺序表中静态顺序表的创建、插入和删除一个元素(源码分析),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在数据结构的开始,首要讲的是顺序表,顺序表分为静态顺序表和动态顺序表

1、静态顺序表

      个人认为,静态顺序表和数组并不二样,静态的一张表,首要必须确定元素的个数,比如这样写

      typedef MaxSoze 10 ; 

      int a[MaxSize];

      想想数组的定义,也是确定元素的个数

    静态顺序表的创建就可以了

下面是对这张顺序表进行操作,简单的有插入一个元素,删除一个元素,插入一个元素的思想是首先要把自该位置起的所有元素往后移动一位,然后把要插的元素放在该位置,但要注意的是判断的条件,比如要插入的元素的位置是否是符合原顺序表的等等

删除元素的操作类似,把待删除元素之后的每一个元素往前移动一位,这样就把待删除的元素给抹掉了,同样是要注意判断条件的正确性

     另外,既然要插入元素,记得把表的长度加1,删除元素,记得把表的长度减1


下面是部分代码:

/* 删除函数中
*  len :表示是删除一个元素的位置
*  n   :表示表的长度
*/ 
void DeleteElem(int a[],int len,int *n)
{
int i=0;
if(len<1 || len >(*n) )
{
printf("error!\n");
return;
}
for(i=len;i<(*n);i++)
a[i-1]=a[i];
*n-=1;
}


/* 插入函数中
*  m  :表示待插入的元素的大小
*  len:表示要插入的位置
*  n  :表的长度
*/ 
void InsertElem(int a[],int m,int len,int *n)
{
int i=0;
if(len <1 || len >(*n) || (*n) == MaxSize)
{
printf("error!\n");
return ;
}
for(i=(*n-1);i>=(len-1);i--)
a[i+1]=a[i];
a[len-1] = m;
*n+=1;
}

这篇关于顺序表中静态顺序表的创建、插入和删除一个元素(源码分析)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1075501

相关文章

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明

docker如何删除悬空镜像

《docker如何删除悬空镜像》文章介绍了如何使用Docker命令删除悬空镜像,以提高服务器空间利用率,通过使用dockerimage命令结合filter和awk工具,可以过滤出没有Tag的镜像,并将... 目录docChina编程ker删除悬空镜像前言悬空镜像docker官方提供的方式自定义方式总结docker

Python创建Excel的4种方式小结

《Python创建Excel的4种方式小结》这篇文章主要为大家详细介绍了Python中创建Excel的4种常见方式,文中的示例代码简洁易懂,具有一定的参考价值,感兴趣的小伙伴可以学习一下... 目录库的安装代码1——pandas代码2——openpyxl代码3——xlsxwriterwww.cppcns.c

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

C++实现封装的顺序表的操作与实践

《C++实现封装的顺序表的操作与实践》在程序设计中,顺序表是一种常见的线性数据结构,通常用于存储具有固定顺序的元素,与链表不同,顺序表中的元素是连续存储的,因此访问速度较快,但插入和删除操作的效率可能... 目录一、顺序表的基本概念二、顺序表类的设计1. 顺序表类的成员变量2. 构造函数和析构函数三、顺序表

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

使用Python在Excel中插入、修改、提取和删除超链接

《使用Python在Excel中插入、修改、提取和删除超链接》超链接是Excel中的常用功能,通过点击超链接可以快速跳转到外部网站、本地文件或工作表中的特定单元格,有效提升数据访问的效率和用户体验,这... 目录引言使用工具python在Excel中插入超链接Python修改Excel中的超链接Python

C#使用DeepSeek API实现自然语言处理,文本分类和情感分析

《C#使用DeepSeekAPI实现自然语言处理,文本分类和情感分析》在C#中使用DeepSeekAPI可以实现多种功能,例如自然语言处理、文本分类、情感分析等,本文主要为大家介绍了具体实现步骤,... 目录准备工作文本生成文本分类问答系统代码生成翻译功能文本摘要文本校对图像描述生成总结在C#中使用Deep