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

顺序表

基于顺序结构(数组)实现的线性表

  • 优点:可以随机访问,存储密度高
  • 缺点:插入删除操作时间复杂度高
  • 适合没有大量插入删除操作的表

结构

  • 数组大小capacity
  • 有效数据个数size,即表长
struct ArrayList{int *data;int capacity;int size;
};

创建和回收

ArrayList* createArrayList(int capacity){Array *a=new ArrayList;if(!a)return nullptr;a->data=new int[capacity];if(!a->data)return nullptr;a->size=0;a->capacity=capacity;return a;
}ArrayList* RecycleArrayList(Array **a){if(*a){if((*a)->data){delete[] (*a)->data;}delete (*a);*a=nullptr;}return *a;
}

追加插入

//追加
void appendArrayList(Array *a,int key){if(a->size==a->capacity){cout<<"表满"<<endl;return;}a->data[a->size++]=key;
}//指定位置插入
void insertArrayList(ArrayList *a,int index,int key){if(size==capacity){cout<<"表满"<<endl;return;}for(int i=a->size-1;i>=index;i--){a[i+1]=a[i];}a[i]=key;a->size++;
}

查找

//按值查找
int findArrayList(const ArrayList *a,int key){for(int i=0;i<a->size;i++){if(a->data[i]==key)return i;}return -1;
}

删除

int deleteArrayList(Array *a,int key){int i=findArrayList(a,key);if(i==-1)return i;for(int j=i+1;j<a->size;j++){a->data[j-1]=a->data[j];}a->size--;return i;
}
http://www.jsqmd.com/news/661659/

相关文章:

  • 小白也能搞定!nanobot轻量AI助手从部署到使用完整教程
  • Outfit字体:9个完整字重的专业级开源无衬线字体终极解决方案
  • 别再死记硬背公式了!用Python+NumPy手把手带你玩转SVD图像压缩(附完整代码)
  • 3分钟解锁B站缓存视频:m4s格式转换MP4的终极方案
  • 科研小白必看:中科院JCR期刊分区全解析(附2023最新学科分类表)
  • eNSP模拟器SSH配置避坑指南:解决‘协议不支持’和认证失败的常见问题
  • 猫抓Cat-Catch:浏览器资源嗅探扩展完全指南,快速获取网页视频音频
  • 别再傻傻分不清了!给设计师和前端开发者的图像颜色模型(HSL/HSV/RGBA)保姆级扫盲指南
  • 告别盲测!用LTC2990芯片给你的Arduino项目加上‘健康监测仪’(附完整I2C代码)
  • 5步终极指南:如何用Driver Store Explorer专业清理Windows驱动程序存储空间
  • Digital:数字电路设计与仿真工具完整指南
  • 从MOT16/17数据集到实战评测:手把手解析多目标跟踪核心指标
  • 避坑!这些毕设太好抄了,3000+毕设案例推荐第1079期
  • 终极Blender插件实战指南:无缝连接虚幻引擎的PSK/PSA文件格式
  • 深度学习与传统算法在图像曝光修正中的对比与实践
  • 今日总结:复习内容:计网常见的应用层协议 -
  • LIN总线硬件实现探秘:从协议控制器到收发器的协同设计
  • 5大终极技巧:用GHelper免费高效掌控华硕笔记本性能
  • 告别裸机开发:用ESP-IDF的FreeRTOS任务优雅处理ESP32-CAM图像流
  • 告别卡顿与等待:如何用G-Helper让你的华硕笔记本重获新生
  • 放弃复杂在线更新?手把手用PyTorch复现SiamFC,体验离线训练的极简美学
  • AGI伦理对齐失效的3个隐蔽信号,2026奇点大会治理框架中已强制嵌入监测阈值
  • 如何快速获取八大网盘直链下载地址:终极免客户端下载指南
  • TCExam在线考试系统完整部署教程:如何快速构建专业级计算机化考试平台
  • WaveTools:解锁鸣潮120帧的终极游戏优化方案
  • python中open函数与with open 的演进与示例
  • 打破平台壁垒:WorkshopDL如何让非Steam玩家也能畅享创意工坊模组
  • 从仿真结果到发表级图表:手把手教你用Lumerical脚本做数据可视化
  • STM32 DSP库实战:arm_sin_f32如何将三角函数运算速度提升一个数量级
  • 探索Happy Island Designer:重塑岛屿规划体验的智能工具