当前位置: 首页 > news >正文

顺序表实现线性结构

顺序表的优点
能够随机储存和访问,能通过数组名(首数据地址)+元素序号(偏移量)直接访问
a[5]能够访问第五个数据,链表需要遍历才可以
缺点
大小确定,扩容不方便
数据改动时需要的操作太多如增删
在这个操作后,需要把后面数据全部改动

typedef struct ArrayList {int* date;//指针模拟开数组,int size;//实际数据大小
}Array;
Array initArray(){Array a;a.date = (int*)malloc(sizeof(int) * max);if (a.date == NULL) {printf("内存分配失败");return a;}a.size = 0;return a;
}//初始化


1.确定数据插入是否正确(插入地址是否存在)
在线性数据表中数据只能依次排序,所以要确定数据插入的地方是否是存储在指定范围内
如c
x>0||x<=储存数据的个数
确定表未满
2.确认插入数据位置
如果是在最后一个则直接插入
如果不是则插入前要倒着遍历赋值
然后再将数据插入相应位置

点击查看代码
int add(Array* ar, int x,int m)
{//ar传入结构体,x数据位置,m数据if (ar->size < max) {if (x == ar->size){ar->date[x] = m;ar->size++;}else {for (int i = ar->size; i > x; i--) {ar->date[i] = ar->date[i-1];//最后一位等于前面一位数据}ar->date[x] = m;ar->size++;}return 1;}else printf("传入数据超出储存范围");return 0;
}


1.确认线性表是否为空表
若为空表则输出线性表为空表,
2.确认数据位置
如找到数据则返回数据对应序号
如无则返回-1

int find(Array* ar, int k) 
{for (int i = 0; i < ar->size; i ++ ) {if (ar->date[i] == k)return i;}return -1;
}


1.确认线性表是否为空表
2.查找相应数据位置,根据查找函数的返回值确认接下来的操作
返回值为-1,则return 0也可以输出未找到该数据
反之则从当前序号开始往后循环进行赋值处理
最后让储存数据个数加一

int delet(Array* ar, int k) 
{if (ar->size == 0)return -1;//数组里面没有数据int i = find(ar, k);if (i == -1)return -1;//数组里面没找到相应数据for (; i < ar->size-1; i++) {ar->date[i] = ar->date[i + 1];}ar->size--;return 0;}


这个操作与删减操作差不多
在查找到相对数据的序号后
让这个序号所对应数据进行更改

int change(Array* ar, int k,int y) {if (ar->size == 0)return -1;int j = find(ar, k);if (j == -1)return -1;ar->date[j] == y;return 0;
}
http://www.zskr.cn/news/124207.html

相关文章:

  • Windows Server 2025 OVF (2025 年 12 月更新) - VMware 虚拟机模板
  • 2025年评价高的碳钢焊接加工用户好评厂家排行 - 行业平台推荐
  • Windows 11 25H2 | 24H2 中文版、英文版 (x64、ARM64) 下载 (2025 年 12 月更新)
  • 2025年热门的猫粮/低脂猫粮2025热门推荐榜 - 行业平台推荐
  • 2025宁波绿植租赁年度TOP5推荐:实力强且口碑好的医院绿植租赁公司权威测评 - myqiye
  • LeetCode 3.无重复字符的最长子串
  • 2025年口碑好的远红外节能加热圈/节能加热圈厂家最新权威实力榜 - 行业平台推荐
  • 2025年武汉BIP管理系统口碑排行榜TOP10,人力云/好会计/好生意/协同云/财务云/税务云/供应链云/好业财/制造云BIP产品找哪家 - 品牌推荐师
  • 2025年年终全自动洗车机厂家推荐:基于千条加盟商评价与多品牌对比的5款高口碑优质之选 - 品牌推荐
  • 2025年质量好的绒布衣帽间收纳/挂衣杆衣帽间收纳经典款式推荐榜 - 行业平台推荐
  • 2025年化学阿拉丁试剂品牌排行榜,新测评精选试剂供应商推荐 - 工业品牌热点
  • 学校与工厂绿植租赁服务推荐:助力绿色空间打造 - myqiye
  • 2025年靠谱的体系认证/建筑业体系认证体系认证权威机构榜 - 行业平台推荐
  • 回调函数
  • 2025保温耐火材料企业TOP5口碑测评:河北安泰恒信口碑好吗? - mypinpai
  • 2025年度权威浮动球阀制造商综合实力排行,行业内最好的浮动球阀推荐排行精选优质品牌解析 - 品牌推荐师
  • 无人机蜂群防御新维度:2025用设施智能追踪识别赋能 - 品牌2025
  • 2025年佛山一站式PVC塑料瓦服务商家推荐:耐用型PVC塑料瓦制造商有哪些? - mypinpai
  • 告别下载焦虑!2025年最全视频下载神器清单
  • 2025专注力培训专业公司TOP5权威推荐:甄选靠谱机构助力孩子注意力提升 - 工业推荐榜
  • Super MB Pro M6+ BENZ BMW 2-in-1 Diagnostic Tool with Panasonic FZ-G1 Tablet – Ready to Use
  • 作为我的第一篇csdn博客吧
  • 2025年哈尔滨民事律师排名TOP5:应变能力强的资深律师推荐与全解析 - myqiye
  • 2025年专注力培训中心推荐:专注力培训专业公司有哪些? - 工业推荐榜
  • 在Kubernetes(k8s)环境中无法删除持久卷(PV)和持久卷声明(PVC)
  • Xhorse VVDI MLB Tool: Solder-free Adapter + 5pcs Audi MLB Keys for EU/US Mechanics Owners
  • 2025年燃气灶厂家权威推荐榜单:灶盘/煤气炉/煤气灶源头厂家精选 - 品牌推荐官
  • 2025年度北京法律检索推荐:法律检索哪个好? - 工业品牌热点
  • 2025保温耐火材料企业TOP5权威推荐:安泰恒信,聚焦海泡石细分领域的实力角逐 - myqiye
  • 带宽延迟检查需要监控什么