写了一天,终于将线性表的顺序存储实现了,顺便恶补了一下指针内容。顺序存储,适合做查询,链式存储适合做增删。

添加方法主要就是将线性表从后往前遍历,依次往后挪一位,直到空出想要插入的位置,删除方法就是将线性表从要删除

的地方往后遍历,依次往前挪一位。

#include #include #define MAXLENGTH 20

typedef int Eletype;

typedef struct{

Eletype data[MAXLENGTH];

int length;

}SqList;

void init(SqList *l){

l->length=0;

}

void addData(SqList *l){

l->length=5;

for(int i=0;ilength;i++){

l->data[i]=i+1;

}

}

void addsData(SqList *l){

l->length=5;

for(int i=0;ilength;i++){

l->data[i]=i*2;

}

}

void getEle(SqList l,int index,Eletype *e){

if(l.length<1){

printf("该线性表为空\n");

return ;

}else{

if(index<=l.length&&index>0){

*e=l.data[index-1];

}else{

printf("所取的位置不在线性表范围内\n");

return ;

}

}

}

void display(SqList l,int size){

Eletype e;

printf("线性表中数据为:\n");

for(int i=1;i<=size;i++){

getEle(l,i,&e);

printf("%d ",e);

}

printf("\n");

}

void insertEle(SqList *l,int index,Eletype e){

if(l->lengthlength&&index>0){

for(int i=l->length-1;i>=index-1;i--){

l->data[i+1]=l->data[i];

}

l->data[index-1]=e;

l->length++;

}else if((index-1)==l->length){

l->data[index-1]=e;

l->length++;

}else{

printf("所插入的位置不在线性表范围内\n");

return ;

}

}else{

printf("所要插入的线性表已满\n");

return ;

}

}

void deleteEle(SqList *l,int index,Eletype *e){

if(l->length<1){

printf("该线性表为空\n");

return ;

}else{

if(index>l->length||index<1){

printf("所要删除的数据不在线性表范围内\n");

}else{

*e=l->data[index-1];

for(int i=index-1;ilength;i++){

l->data[i]=l->data[i+1];

}

l->length--;

}

}

}

int hnh(SqList l,Eletype e){

int result;

for(int i=0;ilength;

q++;

insertEle(a,q,e);

continue;

}else{

continue;

}

}

}

int main()

{

SqList l,s;

Eletype e;

init(&l);

addData(&l);

addsData(&s);

display(l,5);

display(s,5);

hb(&l,s);

display(l,8);

}

c语言线性表顺序存储实验小结,数据结构学习笔记-线性表顺序存储(C语言实现)...相关推荐

  1. 数据结构学习笔记——顺序表的基本操作(超详细最终版+++)建议反复看看ヾ(≧▽≦*)o

    目录 前言 一.顺序表的定义 二.顺序表的初始化 三.顺序表的建立 四.顺序表的输出 五.顺序表的逆序输出 六.顺序表的插入操作 七.顺序表的删除操作 八.顺序表的按位和按值查找 基本操作的完整代码 ...

  2. 人们通常先在线性表尾部临时添加一个_数据结构学习笔记-线性表

    我们经常会处理一系列类型相同的数据, 创建这种元素组, 读取和修改 当我们处理一个具有有穷或者无穷的元素数据集的时候, 我们需要将其作为一个整体来管理和使用, 用变量去表示它们, 传入和传出函数等等. ...

  3. 数据结构学习笔记——线性表逻辑结构和顺序存储结构

    2.1线性表的逻辑结构  线性表的数据元素的特点:同一数据类型 一.线性表的逻辑定义 线性表是由n个数据元素(结点)a1,a2,-,an组成的有限序列. 二.线性表的基本运算 2.2线性表的顺序存储结 ...

  4. c语言查看cpu温度代码_树莓派学习笔记——短短几行C语言代码获取树莓派的CPU温度...

     玩转树莓派 标签: 树莓派CPU温度 前言 本文通过文件操作读取树莓派CPU温度,在linux系统中任何设备的操作都被抽象成为文件读写,通过读取/sys/class/thermal/thermal_ ...

  5. 数据结构学习笔记(七):哈希表(Hash Table)

    目录 1 哈希表的含义与结构特点 1.1 哈希(Hash)即无序 1.2 从数组看哈希表的结构特点 2 哈希函数(Hash Function)与哈希冲突(Hash Collision) 2.1 哈希函 ...

  6. 数据结构学习笔记(王道)

    数据结构学习笔记(王道) PS:本文章部分内容参考自王道考研数据结构笔记 文章目录 数据结构学习笔记(王道) 一.绪论 1.1. 数据结构 1.2. 算法 1.2.1. 算法的基本概念 1.2.2. ...

  7. 数据结构学习笔记(五):重识字符串(String)

    目录 1 字符串与数组的关系 1.1 字符串与数组的联系 1.2 字符串与数组的区别 2 实现字符串的链式存储(Java) 3 子串查找的简单实现 1 字符串与数组的关系 1.1 字符串与数组的联系 ...

  8. 《数据结构学习笔记》-持续记录

    数据结构学习笔记 1.基本概念 1.1 数据 2.数据结构 2.1逻辑结构 2.1.1 集合结构 2.1.2 线性结构 2.1.3 树形结构 2.1.4 图形结构 2.2物理结构(存储结构) 2.2. ...

  9. 考研数据结构学习笔记1

    考研数据结构学习笔记1 一.绪论 1.基本概念和术语 2.数据结构三要素 2.1逻辑结构 2.1.1 集合结构 2.1.2 线性结构:一对一 2.1.3 树形结构:一对多 2.1.4 图状结构:多对多 ...

最新文章

  1. iOS15.4 来袭:新增“男妈妈”表情及口罩面容解锁、AirTags 反跟踪等新功能
  2. appium-java自动化框架设计学习
  3. LeetCode周赛191
  4. 数码管显示1到8c语言,单片机控制八只数码管滚动显示1~8 附PROTEUS软件仿真图
  5. 《Python Cookbook 3rd》笔记(4.11):同时迭代多个序列
  6. 信息学奥赛一本通 1167:再求f(x,n)
  7. matlab表白_撩妹攻略|理工男专属情人节表白礼物来啦~
  8. 从个人经历出发,说说如何0基础学Java
  9. LayaAir Graphics.drawTexture 显示与切换图片
  10. arduino 部分有用的函数
  11. Spark中的python shell交互界面Ipython和jupyter notebook
  12. 自己开店用什么收银系统好-纳客收银系统
  13. 计算机房电磁辐射防护,机房防辐射处理解决方案
  14. css2D、3D详解
  15. 基于STM32的指纹锁
  16. 利用CSS3动画制作“百度浏览器”官网奔跑的北极熊
  17. 画一幅表现压力的抽象画,我是这样画的
  18. VS2017、opencv安装
  19. 【Excel 如何对比两个文件】
  20. java学籍管理系统课设报告,基于SSM+Redis+LayUI的大学生学籍信息管理系统-java学生学籍信息管理系统mysql数据源...

热门文章

  1. 将RGB格式的颜色值转换为十六进制
  2. JavaScript实现轮播图
  3. HDU 1285 - 确定比赛名次(拓扑排序)
  4. Acwing第 13 场周赛【未完结】
  5. C#之while与do……while语句
  6. hub设备_HUB选择困难症?从这里解决
  7. 【注释规约】规范化的第一步,你类和方法的注释,规范嘛?
  8. maven实战总结,工作中常见操作
  9. 二本毕业,努力 5 年,月入 5w 的程序员和他们的公众号
  10. 2021- 10 -13 AVL树的平衡调整(有parent指针) 代码逻辑