ArrayList集合方法(自写)
以下方法在使用时需要new一个新对象调用,输出时需要一个输出方法,否则输出的是地址
1.最后位置插入
//最后位置插入
public void add(int element){if (size>=arr.length){capacity*=factor;int[] temp=new int[capacity];for (int i = 0; i <arr.length ; i++) {temp[i]=arr[i];}arr=temp;}arr[size]=element;size++;}
2.任意位置插入
//在任意位置插入//value 插入的值//index 插入的位置public void insert(int value,int index){if (index<0||index>size){System.out.println("插入位置不合理");return;}if (size== arr.length){//扩容capacity*=factor;int[] temp=new int[capacity];for (int i = 0; i <arr.length ; i++) {temp[i]=arr[i];}arr=temp;}//插入位置以及插入位置以后的数据往后移动for (int i =size-1; i >=index ; i--) {arr[i+1]=arr[i];}//插入数据arr[index]=value;size++;}
3.删除第一个复合条件的元素
//删除第一个复合条件的数据public boolean delFirst(int value){boolean isFound=false;for (int i = 0; i < size ; i++) {if(arr[i]==value){//删除for (int j = i; j <size-1 ; j++) {arr[j]=arr[j+1];}size--;isFound=true;break;}}return isFound;}
4.删除所有复合条件的元素
//删除所有复合条件的数据public boolean delete(int value){boolean isFound=false;//从后往前遍历可以删除两个相邻的复合条件的数据for (int i = size-1; i >=0 ; i--) {if(arr[i]==value){//删除for (int j = i; j <size-1 ; j++) {arr[j]=arr[j+1];}size--;isFound=true;}}return isFound;}
5.在合适位置插入
//在合适位置插入public void orderInsert(int value){if (size== arr.length){//扩容capacity*=factor;int[] temp=new int[capacity];for (int i = 0; i <arr.length ; i++) {temp[i]=arr[i];}arr=temp;}//插入if(size==0){arr[0]=value;}else if(value>arr[size-1]){arr[size]=value;}else {for (int i = 0; i <size ; i++) {if(arr[i]>value){//插入位置以及之后的数据往后移动for (int temp=size-1;temp>=i;temp--){arr[temp+1]=arr[temp];}arr[i]=value;break;}}}size++;}
6.二分查找
//二分查找public int search(int value){int left=0;int right=size;while (left<=right){int mid=(left+right)/2;if(arr[mid]==value){System.out.println("找到了,下标为"+mid);return mid;}else if(arr[mid]>value){right=mid-1;}else {left=mid+1;}}System.out.println("没找到");return -1;}
相关文章:
ArrayList集合方法(自写)
以下方法在使用时需要new一个新对象调用,输出时需要一个输出方法,否则输出的是地址 1.最后位置插入 //最后位置插入 public void add(int element){if (size>arr.length){capacity*factor;int[] tempnew int[capacity];for (int i 0; i <arr.le…...
sql注入学习笔记
sql注入原理 掌握sql注入漏洞的原理掌握sql注入漏洞的分类 万能用户名 777 or 11 #原句 select userid from cms_users where username ".$username." and password".md5 ( $password ) ."输入过后为 select userid from cms_users where username …...
企业涉密文件怎么加密?企业重要文件加密方法
对于一个企业来说,涉密文件的重要性不言而喻,我们需要使用专业的方法来保护企业重要文件。那么,企业涉密文件该怎么加密呢?下面我们来一起了解一下。 本地文件加密 针对在电脑本地保存的文件,我们可以使用超级加密300…...
经典猜数游戏(python类封装)
五次机会猜测100以内随机正整数,我用初通的python类封装了代码并清屏上一次猜测提示,难有所增加咯。 (笔记模板由python脚本于2023年11月09日 12:31:30创建,本篇笔记适合掌握python循环和条件分支语句用法,初通python类的coder翻阅…...
环形链表~
题目描述 给你一个链表的头节点 head ,判断链表中是否有环。如果链表中存在环,则返回true。否则,返回false 。 解题思路 采用快慢指针的思想,创建fast和slow一快一慢指针,slow一次走一步,fast一次走两步&…...
GZ038 物联网应用开发赛题第1套
2023年全国职业院校技能大赛 高职组 物联网应用开发 任 务 书 (第1套卷) 工位号:______________ 第一部分 竞赛须知 一、竞赛要求 1、正确使用工具,操作安全规范; 2、竞赛过程中如有异议,可向现场考评人员反映,不得扰乱赛场秩序; 3、遵守赛场纪律,尊重考评人员…...
SQL关键字
SQL关键字包括以下内容: SELECT:从数据库表中查询数据 FROM:指定数据源表 WHERE:筛选满足条件的数据 GROUP BY:按照列或表达式将数据分组 HAVING:筛选分组后满足条件的数据 ORDER BY:按照列或表…...
第三章:人工智能深度学习教程-基础神经网络(第五节-了解多层前馈网络)
让我们了解反向传播网络 (BPN) 中的误差是如何计算的以及权重是如何更新的。 考虑下图中的以下网络。 反向传播网络(BPN) 上图中的网络是一个简单的多层前馈网络或反向传播网络。它包含三层,输入层有两个神经元 x 1和 x 2,隐藏层有两个神经元 z 1和 z 2,输出层有一个神经…...
如何实现Debian工控电脑USB接口安全管控
Debian 作为工控电脑操作系统具有稳定性、安全性、自定义性和丰富的软件包等优势,适用于要求高度可靠性和安全性的工控应用。 Debian 作为工控电脑操作系统在工业控制领域有很大优势,包括: 稳定性:Debian 的发布版以其稳定性而闻…...
开源知识库软件xwiki在Windows下的安装
文章目录 开源知识库软件-xwiki在windows上的部署0、参考文档1、前置环境准备1.1、Windows版本及系统配置1.2、JDK11安装1.3、Tomcat9安装1.4、MySQL5.7数据库的安装 2、xwiki安装3、配置3.1、修改配置支持对文档内容进行搜索 4、问题解决4.1、附件无法上传问题4.1、附件无法下…...
学习c#的第一天
目录 C# 简介 C# 强大的编程功能 C# 开发环境 .Net 框架(.Net Framework) C# 的集成开发环境 C# 有用的网站 C# 程序结构 C# 简介 C# 是一种由微软开发的现代、通用的面向对象编程语言,它已经得到了Ecma和ISO的认可。 C#最初是在.NE…...
机器学习实战——《跟着迪哥学Python数据分析与机器学习实战》
跟着迪哥学Python数据分析与机器学习实战 一、基础部分二、信用卡欺诈检测实战 —— 监督学习2.1 下采样与过采样2.1.1 过采样数据生成策略SMOTE 2.2 逻辑回归2.3 分类结果混淆矩阵2.4 过采样实战2.5 实战总结2.6 版本依赖排错 三、知识加油站¥银行卡的分类 一、基础…...
开源的全能维护 U 盘工具:Ventoy
开源的全能维护 U 盘工具:Ventoy 本篇文章聊聊迄今为止,我用着最舒服的一款开源 U 盘启动工具,Ventoy。 写在前面 好久不见,接下来计划写一个比较连续的内容,就先从最小的处着手吧。 经过长久的折腾,除…...
Redis7学习笔记01
一百零七、redis高级篇之缓存双写一致性面试题概览...
Redis的持久化机制和配置
Redis 的数据全部在内存里,如果突然宕机,数据就会全部丢失,因此必须有一种机制来保证 Redis 的数据不会因为故障而丢失,这种机制就是 Redis 的持久化机制。 Redis 的持久化机制有两种,第一种是RDB快照,第二…...
【IP固定】地平线开发板如何实现重启IP地址不变
文章目录 1 背景2 临时解决方案3 真正解决方案 1 背景 重新刷了地平线工具链OE包中BSP20230417的系统镜像,结果只能串口连接,无法实现网口连接,串口连接后,发现eth0和eth1的IP竟然是一样的,如下图所示 还挺少见的。 …...
CHATGPT----自然辩证法分析
CHATGPT----自然辩证法的要素,结构与功能 Chatgpt的要素组成: ChatGPT的构成主要包括语言模型、对话管理、知识库和用户接口等几个方面。 语言模型:ChatGPT的核心是语言模型,它是一种基于深度学习技术的自然语言处理模型&#…...
Python测试框架之pytest快速入门
pytest是一种流行的Python测试框架,支持创建简单的单元测试,也支持创建复杂的功能和集成测试。它提供了一系列有用的功能,能够方便地编写,组织和运行测试用例,并生成丰富的测试报告。 pytest的主要特点包括࿱…...
CSS 动画特效运用目录
主要是记录动画相关的特效实践案例和实现思路。 章节名称完成度难度文章地址完整代码下载地址拟态时钟动画完成一般文章地址完整代码下载...
css文本溢出省略号点点点
多行两端对齐省略号 .box {overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 3; // 限制显示的行数,单行就改成1 }...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
嵌入式常见 CPU 架构
架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...
热烈祝贺埃文科技正式加入可信数据空间发展联盟
2025年4月29日,在福州举办的第八届数字中国建设峰会“可信数据空间分论坛”上,可信数据空间发展联盟正式宣告成立。国家数据局党组书记、局长刘烈宏出席并致辞,强调该联盟是推进全国一体化数据市场建设的关键抓手。 郑州埃文科技有限公司&am…...
一些实用的chrome扩展0x01
简介 浏览器扩展程序有助于自动化任务、查找隐藏的漏洞、隐藏自身痕迹。以下列出了一些必备扩展程序,无论是测试应用程序、搜寻漏洞还是收集情报,它们都能提升工作流程。 FoxyProxy 代理管理工具,此扩展简化了使用代理(如 Burp…...
前端调试HTTP状态码
1xx(信息类状态码) 这类状态码表示临时响应,需要客户端继续处理请求。 100 Continue 服务器已收到请求的初始部分,客户端应继续发送剩余部分。 2xx(成功类状态码) 表示请求已成功被服务器接收、理解并处…...
