//定义线性表
#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语言描述简单的线性表,获取元素,删除元素,的更多相关文章

  1. c语言数据结构学习心得——线性表

    线性表:具有相同数据类型的n(n>0)个数据元素的有限序列. 主要有顺序存储和链式存储. 顺序存储: 特点:地址连续,随机/存取,顺序存储. 建立:首地址/存储空间大小(数组),表长. 方式:静 ...

  2. 基于c语言数据结构+严蔚敏——线性表章节源码,利用Codeblocks编译通过

    白天没屌事,那我们就来玩玩线性表的实现吧,快要失业了,没饭吃了咋整哦 题目描述假设利用两个线性表LA和LB分别表示两个集合A和B(即:线性表中的数据元素即为集合中的成员),现要求一个新的集合A=A∪B ...

  3. C语言数据结构——第二章 线性表

    二.线性表 2.1-线性表简介 2.1.1-线性表的定义 线性表是由若干个相同特性的数据元素组成的有限序列.若该线性表不包含任何元素,则称为空表,此时长度为0,当线性表不为空时,表中的元素的个数就是线 ...

  4. C++编程练习(1)----“实现简单的线性表的顺序存储结构“

    线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素. 故可以用数组来实现顺序存储结构. 用C++编写的利用数组实现简单的读取.插入和删除功能的线性表. #include< ...

  5. c++简单编写线性表(实验)

    哇 好久没更博客了  因为从上次更文到现在为止,我一直在学c#,然后也觉得没什么太大的东西想写在博客上, 总之这次就简单的传一下学校安排的数据结构的实验,我还是学生,是新手,希望能继续跟大家一起学习, ...

  6. C语言 严蔚敏数据结构 线性表之链表实现

    博主最近在考成都大学皇家计算机科学与技术专业,复习专业课数据结构,正好学习到线性结构中的线性表用链表这种存储结构来实现. 首先,数据结构包括1.数据的操作2.逻辑结构3.存储结构(数据结构三要素. 直 ...

  7. C++编程练习(2)----“实现简单的线性表的链式存储结构“

    单链表采用链式存储结构,用一组任意的存储单元存放线性表的元素. 对于查找操作,单链表的时间复杂度为O(n). 对于插入和删除操作,单链表在确定位置后,插入和删除时间仅为O(1). 单链表不需要分配存储 ...

  8. 顺序表添加与删除元素以及 php实现顺序表实例

    对顺序表的操作,添加与删除元素. 增加元素 如下图所示  对顺序列表 Li [1328,693,2529,254]  添加一个元素 111 ,有三种方式: a)尾部端插入元素,时间复杂度O(1);  ...

  9. go语言从零学起(二)--list循环删除元素(转载)

    本篇系转载 在使用go的container/list的package时,你可能会无意间踩一个小坑,那就是list的循环删除元素. list删除元素,直观写下来的代码如下: package main i ...

随机推荐

  1. 华人曾与IBM抗衡! 盘点已远去的IT巨头(转)

    [PConline资讯 ]从算盘到计算器,从大型机到个人PC,再到当今火热的移动终端和云计算,人类计算史已经走过了千年之久,现代IT计算领域也经过了百年浮沉.在世界工业领域,IT技术应该是诞生时间最短 ...

  2. SecureCRT自动记录日志【记录键入的所有命令和打印的结果信息】

  3. SQL语言的三个分类:DDL、DML、DCL

    DML:数据操纵语言,主要是完成数据的新增,修改,删除和查询的操作. DDL:数据定义语言,主要是用来创建或修改表.视图.存储过程以及用户等. DCL:数据控制语言,是用来设置或更改数据库用户或角色权 ...

  4. AP_应付税务预扣税Withholding Tax的设定和使用(案例)

    2014-07-13 Created By BaoXinjian

  5. NeHe OpenGL教程 第十九课:粒子系统

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  6. java 编译中没有清除之前编译出来的文件。

    最近在写一个类时候使用了内部类,然后又将这个类改用普通类来实现.但在运行时访问局部变量时候出现了NullPointException异常,想来想去没有想明白,后来清除了一个之前编译出来的文件*.cla ...

  7. CentOS yum安装和配置MySQL(转载)

    From:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html] 一.MySQL简介 说到数据库,我们大多想到 ...

  8. Python中用datetime包进行对时间的一些操作

    1. 计算给出两个时间之间的时间差 import datetime as dt # current time cur_time = dt.datetime.today() # one day pre_ ...

  9. 修改VNC访问的密码

    :vncserver :iptables -I INPUT -p tcp --dport -j ACCEPT 客户端方式 :iptables -I INPUT -p tcp --dport -j AC ...

  10. plsql如果表和函数等显示不出来

    就把用户设为所有用户,所有的东西就会都显示出来了,然后再把用户切换为当前用户和My objects,你想看的东西就全部显示出来了.