恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

数据结构(顺序表)

  • 首页
  • 资讯中心
  • /
  • 数据结构(顺序表)

相关资讯

06_为什么我没用LangChain_三节速览后的对照 2026/10/5 2:30:14
ChemCAD二次开发教程(02):环境盘点——安装布局、许可机制与自动化前置条件 2026/10/5 2:25:13
DeepSpeed-Chat Step 2 奖励模型微调训练脚本实战:模型替换、参数全解与打分原理 2026/10/5 2:25:13

最新资讯

树莓派离线唤醒词引擎Snowboy安装实战与调试指南
S32K144裸机开发入门:从建工程到J-Link烧录调试全攻略
数据新鲜度驱动的协作式无人机联邦学习:AoI建模与PD-MADDPG仿真实现
RAG进阶实战:从可诊断、可归因到可修复的工程化落地
阿里开源30章企业级Agent落地手册:从Demo到生产环境的工程实践
理光复印机扫描到文件夹全攻略:SMB共享与Web Image Monitor配置

今日推荐

第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单
YOLOv5 OBB旋转框训练实战:从DOTA数据准备到调参避坑全流程
Zeron 终端、Worktree 与 Diff 面板:像 IDE 一样查看并驱动你的代码变更

本周热门

MR25H40CDF + PIC18F65K40:工业记录仪高可靠存储实战
基于STM32的数控恒压恒流电源设计:从硬件到PID调参全解析
LT9211 MIPI重定时器原理与双路扇出实战指南

本月精选

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)

数据结构(顺序表)

发布时间:2026/10/5 2:30:14
数据结构(顺序表) 目录数据结构类型顺序表是什么如何实现属性操作方法泛型是什么怎么用数据结构类型基础结构数组、链表、队列、栈、图、树复合结构线性表、集合、哈希表、LWZ字典、哈夫曼树顺序表是什么顺序表是用数组实现的线性表数据存储在数组中并配套增、删、查、改等等操作方法。如何实现属性元素个数、元素、数组长度定义一个自己的数组类publicclassMyList{intsize0;intlength0;Object[]objects;}操作方法构造函数初始化数组长度定义一个该长度的Object类数组publicMyList(intlen){//如果长度过小或不合法设置为10if(len2){len10;}lengthlen;objectsnewObject[len];}增加在表尾添加指定元素考虑到数组长度的临界情况定义扩容方法publicvoidgrow(){intnewlenlength(length1);//1.5倍扩容Object[]newObjnewObject[newlen];for(inti0;ilength;i){newObj[i]objects[i];}//替换引用objectsnewObj;lengthnewlen;System.out.println(扩容了,现在的长度为length);}publicvoidadd(Objecte){//如果长度达到临界扩容if(sizelength){grow();}objects[size]e;size;}publicvoidaddAll(MyListElist){intaddSizelist.size;inttotallengthaddSize;intlenlength(length1);//长度不够扩容if(totallength){if(lentotal)lentotal;//1.5倍不够直接扩容到指定长度Object[]newObjnewObject[len];for(inti0;isize;i){newObj[i]objects[i];}objectsnewObj;lengthlen;}//将数组中的元素添加for(inti0;iaddSize;i){objects[size]list.objects[i];}}删除删除元素并前移后置元素publicvoidremove(intindex){//如果个数为0返回if(size0){return;}//下标合法性检查if(index0||indexsize){return;}//对应下标前移后置元素for(intiindex;isize-1;i){objects[i]objects[i1];}objects[size-1]null;size--;}按下标删除publicvoidremoveOE(Objecte){//把元素分为两类要保留的和要删除的-3121123intk0;for(inti0;isize;i){if(objects[i].equals(e)){k1;}else{objects[i-k]objects[i];//原地覆盖元素个数并未减少}}size-k;}按元素删除可能有相同元素publicvoidremoveRange(intfrom,intto){//下标检查if(fromto||isIndexOutBounds(from)||isIndexOutBounds(to)){return;}intrangeto-from;for(intito;isize;i){objects[i-range]objects[i];}size-range;}按范围删除 从toIndex开始遍历到末尾不会越界替换遍历找到对应元素直接用新元素替换publicvoidset(intindex,Objecte){if(index0||indexsize){System.out.println(索引不合法);return;}Objecttempobjects[index];objects[index]e;System.out.println(原索引处 temp 已被替换为 e);}publicvoidset(Objectolde,Objecte){if(size0){return;}for(inti0;isize;i){if(Objects.equals(objects[i],olde)){objects[i]e;}}}查找publicObjectget(intindex){//如果输入下标不合法if(isIndexOutBounds(index)){returnnull;}returnobjects[index];}//按元素查找-返回下标publicintindexOf(Objectobj){//遍历数组如果等于对应元素返回索引for(inti0;isize;i){if(Objects.equals(objects[i],obj)){returni;// 找到第一个立刻返回索引}}return-1;//如果数组中不存在}插入把元素添加到顺序表任意位置同样考虑数组长度进行扩容找到指定下标后移元素publicvoidinsert(intindex,Objecte){if(isIndexOutBounds(index)){return;}if(sizelength){grow();}for(intisize;iindex;i--){objects[i]objects[i-1];}objects[index]e;size;}泛型是什么是一种预设的数据类型泛型名可以自己取怎么用定义类时在类名右边加上尖括号泛型名如 public class MyList E 定义方法时声明传参类型、返回值类型、属性类型、转型类型泛型名参数名如 public void add(E e) {}public E remove(int index) {}带有泛型设定的类型在创建对象时需要指定一个具体的数据类型否则默认为Object。如 MyList Integer listnew MyList(10);泛型名不可用来实例化对象。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号