博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c语言描述简单的线性表,获取元素,删除元素,
阅读量:5014 次
发布时间:2019-06-12

本文共 2090 字,大约阅读时间需要 6 分钟。

1 //定义线性表 2 #define MAXSIZE 20 3 typedef int ElemType; 4 typedef  struct  5 { 6         ElemType data[MAXSIZE];  //这是数组的长度,从0开始,也就是最大长度  7         int length;              //这是线性表的长度,表示线性表已经存储了多少个元素  8           9 }SqList;10 /*11 ************************** 12 **************************13 */14 15 16 17 //返回线性表L的元素  18 typedef int Status;19 Status GetElem1 (SqList L,int i,ElemType *e)20 {21      if (L.length==0 || iL.length) 22                      return -1;   23                      24          *e = L.data[i-1];25          return 0; 26 }27 28 29 30 31       32 /*33 ************************** 34 **************************35 */     36 37 38 //元素插入线性表39 Status ListInsert (SqList *L,int i,ElemType e)40 {41      int k;42      if (L->length == MAXSIZE)    //表示线性表的最大长度已经等于数组的长度,线性表已经满 43           return -1;      44           45      if(i < 1 || i > L->length+1)    //表示要插入的位置i 不在线性表的范围46          return -1;47     48      if (i <= L->length)      //若要插入的位置不在线性表的尾端 49         for (k = L->length - 1;k >= i-1 ;k--)     //就是插入位置后面的元素一个个往后面挪出一个位置,先是线性表最后一个元素挪 50                L->data[k+1] = L->data[k];51                52      L->data[i-1] = e; // 插入的i是相对于线性表来说的下标从1开始,data是数组,下标从0开始,所以辅助到i-1上  53      L->length++;    //表示线性表的长度加上1 54      return 0; 55 }      56 57 58 /*59 ************************** 60 **************************61 */62 63 //元素删除 64 Status ListDelete(SqList *L,int i,ElemType *e)65 {66       int k;67       if (L->length ==0)    //判断线性表是否为空 68         return -1;69       if (i>L->length || i<1)   //判断要删除的元素是否在线性表中 70         return -1;71       *e = L->data [i-1];    //先把数组的数组拿出来赋值给e 72       73       if (i< L->length) 74             for (k=i;k
length;k++) //直接把药删除的元素后面的元素直接往前移动 75 L->data[k-1]=L->data[k]; 76 77 L ->length --; //最后一步是把线性表的长度减去1 数组的长度不用减,英文已经用maxsize定义了。 78 79 } 80 81 82 int main()83 {84 return 0;85 }86 87

   简单的线性表增删,本人是菜鸟,有什么问题请评论,我真的希望大家能给点指点,谁也是从菜鸟开始的,

   做技术的没有什么好嘲笑的,技术的东西是永远学不完的,日新月异。

   技术靠一点一点积累的,大牛也是這样,

   希望我也能加油。

转载于:https://www.cnblogs.com/biyongyao/p/5449813.html

你可能感兴趣的文章
DOCKER 从入门到放弃(五)
查看>>
Python 多线程学习
查看>>
appcan官方ajax
查看>>
获取NVIDIA显卡的温度
查看>>
Dijkstra算法
查看>>
Deep Learning 9: Performance
查看>>
面试题61 把二叉树打印成多行
查看>>
C#例子 易懂故事 接口 委托 事件 异步通知 好玩.
查看>>
[转]Windows Shell 编程 第十一章 【来源:http://blog.csdn.net/wangqiulin123456/article/details/7987992】...
查看>>
修改presto新版源码让他支持redash数据库
查看>>
Javascript的书写位置
查看>>
树-线索二叉树
查看>>
JAVA遇见HTML——Servlet篇:Servlet基础
查看>>
第二章 Vue快速入门--20 品牌案例-完成品牌列表的添加功能+ 21 品牌案例-根据Id完成品牌的删除...
查看>>
Java单例模式
查看>>
重温WCF之消息契约(MessageContract)(六)
查看>>
Excel2007制作直方图和正态分布曲线图
查看>>
android adb常用指令
查看>>
Android框架之路——GreenDao3.2.2的使用
查看>>
类方法WCF学习笔记-KnowTypeAttribute用法
查看>>