c语言描述简单的线性表,获取元素,删除元素,
//定义线性表
#define MAXSIZE 20
typedef int ElemType;
typedef struct
{
ElemType data[MAXSIZE]; //这是数组的长度,从0开始,也就是最大长度
int length; //这是线性表的长度,表示线性表已经存储了多少个元素 }SqList;
/*
**************************
**************************
*/ //返回线性表L的元素
typedef int Status;
Status GetElem1 (SqList L,int i,ElemType *e)
{
if (L.length== || i<i || i>L.length)
return -; *e = L.data[i-];
return ;
} /*
**************************
**************************
*/ //元素插入线性表
Status ListInsert (SqList *L,int i,ElemType e)
{
int k;
if (L->length == MAXSIZE) //表示线性表的最大长度已经等于数组的长度,线性表已经满
return -; if(i < || i > L->length+) //表示要插入的位置i 不在线性表的范围
return -; if (i <= L->length) //若要插入的位置不在线性表的尾端
for (k = L->length - ;k >= i- ;k--) //就是插入位置后面的元素一个个往后面挪出一个位置,先是线性表最后一个元素挪
L->data[k+] = L->data[k]; L->data[i-] = e; // 插入的i是相对于线性表来说的下标从1开始,data是数组,下标从0开始,所以辅助到i-1上
L->length++; //表示线性表的长度加上1
return ;
} /*
**************************
**************************
*/ //元素删除
Status ListDelete(SqList *L,int i,ElemType *e)
{
int k;
if (L->length ==) //判断线性表是否为空
return -;
if (i>L->length || i<) //判断要删除的元素是否在线性表中
return -;
*e = L->data [i-]; //先把数组的数组拿出来赋值给e if (i< L->length)
for (k=i;k<L->length;k++) //直接把药删除的元素后面的元素直接往前移动
L->data[k-]=L->data[k]; L ->length --; //最后一步是把线性表的长度减去1 数组的长度不用减,英文已经用maxsize定义了。 } int main()
{
return ;
}
简单的线性表增删,本人是菜鸟,有什么问题请评论,我真的希望大家能给点指点,谁也是从菜鸟开始的,
做技术的没有什么好嘲笑的,技术的东西是永远学不完的,日新月异。
技术靠一点一点积累的,大牛也是這样,
希望我也能加油。
c语言描述简单的线性表,获取元素,删除元素,的更多相关文章
- c语言数据结构学习心得——线性表
线性表:具有相同数据类型的n(n>0)个数据元素的有限序列. 主要有顺序存储和链式存储. 顺序存储: 特点:地址连续,随机/存取,顺序存储. 建立:首地址/存储空间大小(数组),表长. 方式:静 ...
- 基于c语言数据结构+严蔚敏——线性表章节源码,利用Codeblocks编译通过
白天没屌事,那我们就来玩玩线性表的实现吧,快要失业了,没饭吃了咋整哦 题目描述假设利用两个线性表LA和LB分别表示两个集合A和B(即:线性表中的数据元素即为集合中的成员),现要求一个新的集合A=A∪B ...
- C语言数据结构——第二章 线性表
二.线性表 2.1-线性表简介 2.1.1-线性表的定义 线性表是由若干个相同特性的数据元素组成的有限序列.若该线性表不包含任何元素,则称为空表,此时长度为0,当线性表不为空时,表中的元素的个数就是线 ...
- C++编程练习(1)----“实现简单的线性表的顺序存储结构“
线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素. 故可以用数组来实现顺序存储结构. 用C++编写的利用数组实现简单的读取.插入和删除功能的线性表. #include< ...
- c++简单编写线性表(实验)
哇 好久没更博客了 因为从上次更文到现在为止,我一直在学c#,然后也觉得没什么太大的东西想写在博客上, 总之这次就简单的传一下学校安排的数据结构的实验,我还是学生,是新手,希望能继续跟大家一起学习, ...
- C语言 严蔚敏数据结构 线性表之链表实现
博主最近在考成都大学皇家计算机科学与技术专业,复习专业课数据结构,正好学习到线性结构中的线性表用链表这种存储结构来实现. 首先,数据结构包括1.数据的操作2.逻辑结构3.存储结构(数据结构三要素. 直 ...
- C++编程练习(2)----“实现简单的线性表的链式存储结构“
单链表采用链式存储结构,用一组任意的存储单元存放线性表的元素. 对于查找操作,单链表的时间复杂度为O(n). 对于插入和删除操作,单链表在确定位置后,插入和删除时间仅为O(1). 单链表不需要分配存储 ...
- 顺序表添加与删除元素以及 php实现顺序表实例
对顺序表的操作,添加与删除元素. 增加元素 如下图所示 对顺序列表 Li [1328,693,2529,254] 添加一个元素 111 ,有三种方式: a)尾部端插入元素,时间复杂度O(1); ...
- go语言从零学起(二)--list循环删除元素(转载)
本篇系转载 在使用go的container/list的package时,你可能会无意间踩一个小坑,那就是list的循环删除元素. list删除元素,直观写下来的代码如下: package main i ...
随机推荐
- 战胜忧虑<1>——不要让忧郁侵入你的生活
1.不要让忧郁侵入你的生活. 备注:忧郁:一种情绪与心理状态,指一个人呈现哀伤.心情低落的状况,绝望与沮丧为其特色. 解决方法:奥斯勒博士说的那样:用铁门把过去和未来隔断,生活在完全独立的今天. 现在 ...
- web几个高性能框架的简单测试
参考的这里 压测工具 wrk -t16 -c100 -d30s http://127.0.0.1:8080/rest/hello 测试代码 package main import ( "st ...
- 【linux】之安装mysql常用配置
下载mysql地址 http://dev.mysql.com/downloads/mysql/ 选择下面这个 查看是否存在mysql安装包 rpm -qa|grep -i mysql 删除mysql安 ...
- ant中copy操作学习心得(转)
Ant真是太方便了,以前都没注意到它.功能很强大,能创建数据库,配置服务器,部署发布应用……只需要写好build.xml文件,剩下的就交给ant来“安装”你的WEB应用了. Appfuse的第一个an ...
- Spring初理解
spring配置文件是一个xml格式的文件,类似如下: <beas> <bean id= 'a' class = '包名.类名'></bean> <bean ...
- PLSQL_性能优化系列19_Oracle Explain Plan解析计划通过Profile绑定
20150529 Created By BaoXinjian
- ubuntu用终端卸载软件
我们需要知道我们要卸载的软件的名称,sudo apt-get autoremove --purge 之后输入软件名称,可以先输入前缀之后按tab,会自动补全. 现在不要急着回车,我们来讲解一下这个命令 ...
- KMP算法的Next数组详解 转
这个写的很好,还有讲kmp,值得一看. http://www.cnblogs.com/tangzhengyue/p/4315393.html 转载请注明来源,并包含相关链接. 网上有很多讲解KMP算法 ...
- AD7190学习笔记
1 建议SCL空闲时会高电平. 2复位:上电后连续输入40个1(时钟周期)复位到已知状态,并等待500us后才能访问串行接口,用于SCLK噪音导致的同步. 3单次转换与连续转换(连续读取):每次转换是 ...
- eclipse ide for java ee developers 开发环境搭建(j2ee)
转载自:http://www.iteye.com/topic/982182 真的是一片很不错的文章啊! 使用eclipse真的有年头了,相信java程序员没有不知道它的,最近在给团队中新来的应届生做指 ...