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

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一个新对象调用&#xff0c;输出时需要一个输出方法&#xff0c;否则输出的是地址 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 …...

企业涉密文件怎么加密?企业重要文件加密方法

对于一个企业来说&#xff0c;涉密文件的重要性不言而喻&#xff0c;我们需要使用专业的方法来保护企业重要文件。那么&#xff0c;企业涉密文件该怎么加密呢&#xff1f;下面我们来一起了解一下。 本地文件加密 针对在电脑本地保存的文件&#xff0c;我们可以使用超级加密300…...

经典猜数游戏(python类封装)

五次机会猜测100以内随机正整数&#xff0c;我用初通的python类封装了代码并清屏上一次猜测提示&#xff0c;难有所增加咯。 (笔记模板由python脚本于2023年11月09日 12:31:30创建&#xff0c;本篇笔记适合掌握python循环和条件分支语句用法&#xff0c;初通python类的coder翻阅…...

环形链表~

题目描述 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。如果链表中存在环&#xff0c;则返回true。否则&#xff0c;返回false 。 解题思路 采用快慢指针的思想&#xff0c;创建fast和slow一快一慢指针&#xff0c;slow一次走一步&#xff0c;fast一次走两步&…...

GZ038 物联网应用开发赛题第1套

2023年全国职业院校技能大赛 高职组 物联网应用开发 任 务 书 (第1套卷) 工位号:______________ 第一部分 竞赛须知 一、竞赛要求 1、正确使用工具,操作安全规范; 2、竞赛过程中如有异议,可向现场考评人员反映,不得扰乱赛场秩序; 3、遵守赛场纪律,尊重考评人员…...

SQL关键字

SQL关键字包括以下内容&#xff1a; SELECT&#xff1a;从数据库表中查询数据 FROM&#xff1a;指定数据源表 WHERE&#xff1a;筛选满足条件的数据 GROUP BY&#xff1a;按照列或表达式将数据分组 HAVING&#xff1a;筛选分组后满足条件的数据 ORDER BY&#xff1a;按照列或表…...

第三章:人工智能深度学习教程-基础神经网络(第五节-了解多层前馈网络)

让我们了解反向传播网络 (BPN) 中的误差是如何计算的以及权重是如何更新的。 考虑下图中的以下网络。 反向传播网络(BPN) 上图中的网络是一个简单的多层前馈网络或反向传播网络。它包含三层,输入层有两个神经元 x 1和 x 2,隐藏层有两个神经元 z 1和 z 2,输出层有一个神经…...

如何实现Debian工控电脑USB接口安全管控

Debian 作为工控电脑操作系统具有稳定性、安全性、自定义性和丰富的软件包等优势&#xff0c;适用于要求高度可靠性和安全性的工控应用。 Debian 作为工控电脑操作系统在工业控制领域有很大优势&#xff0c;包括&#xff1a; 稳定性&#xff1a;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 框架&#xff08;.Net Framework&#xff09; C# 的集成开发环境 C# 有用的网站 C# 程序结构 C# 简介 C# 是一种由微软开发的现代、通用的面向对象编程语言&#xff0c;它已经得到了Ecma和ISO的认可。 C#最初是在.NE…...

机器学习实战——《跟着迪哥学Python数据分析与机器学习实战》

跟着迪哥学Python数据分析与机器学习实战 一、基础部分二、信用卡欺诈检测实战 —— 监督学习2.1 下采样与过采样2.1.1 过采样数据生成策略SMOTE 2.2 逻辑回归2.3 分类结果混淆矩阵2.4 过采样实战2.5 实战总结2.6 版本依赖排错 三、知识加油站&#xffe5;银行卡的分类 一、基础…...

开源的全能维护 U 盘工具:Ventoy

开源的全能维护 U 盘工具&#xff1a;Ventoy 本篇文章聊聊迄今为止&#xff0c;我用着最舒服的一款开源 U 盘启动工具&#xff0c;Ventoy。 写在前面 好久不见&#xff0c;接下来计划写一个比较连续的内容&#xff0c;就先从最小的处着手吧。 经过长久的折腾&#xff0c;除…...

Redis7学习笔记01

一百零七、redis高级篇之缓存双写一致性面试题概览...

Redis的持久化机制和配置

Redis 的数据全部在内存里&#xff0c;如果突然宕机&#xff0c;数据就会全部丢失&#xff0c;因此必须有一种机制来保证 Redis 的数据不会因为故障而丢失&#xff0c;这种机制就是 Redis 的持久化机制。 Redis 的持久化机制有两种&#xff0c;第一种是RDB快照&#xff0c;第二…...

【IP固定】地平线开发板如何实现重启IP地址不变

文章目录 1 背景2 临时解决方案3 真正解决方案 1 背景 重新刷了地平线工具链OE包中BSP20230417的系统镜像&#xff0c;结果只能串口连接&#xff0c;无法实现网口连接&#xff0c;串口连接后&#xff0c;发现eth0和eth1的IP竟然是一样的&#xff0c;如下图所示 还挺少见的。 …...

CHATGPT----自然辩证法分析

CHATGPT----自然辩证法的要素&#xff0c;结构与功能 Chatgpt的要素组成&#xff1a; ChatGPT的构成主要包括语言模型、对话管理、知识库和用户接口等几个方面。 语言模型&#xff1a;ChatGPT的核心是语言模型&#xff0c;它是一种基于深度学习技术的自然语言处理模型&#…...

Python测试框架之pytest快速入门

pytest是一种流行的Python测试框架&#xff0c;支持创建简单的单元测试&#xff0c;也支持创建复杂的功能和集成测试。它提供了一系列有用的功能&#xff0c;能够方便地编写&#xff0c;组织和运行测试用例&#xff0c;并生成丰富的测试报告。 pytest的主要特点包括&#xff1…...

CSS 动画特效运用目录

主要是记录动画相关的特效实践案例和实现思路。 章节名称完成度难度文章地址完整代码下载地址拟态时钟动画完成一般文章地址完整代码下载...

css文本溢出省略号点点点

多行两端对齐省略号 .box {overflow: hidden;text-overflow: ellipsis;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 3; // 限制显示的行数&#xff0c;单行就改成1 }...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

Caliper 负载(Workload)详细解析

Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...

在 Visual Studio Code 中使用驭码 CodeRider 提升开发效率:以冒泡排序为例

目录 前言1 插件安装与配置1.1 安装驭码 CodeRider1.2 初始配置建议 2 示例代码&#xff1a;冒泡排序3 驭码 CodeRider 功能详解3.1 功能概览3.2 代码解释功能3.3 自动注释生成3.4 逻辑修改功能3.5 单元测试自动生成3.6 代码优化建议 4 驭码的实际应用建议5 常见问题与解决建议…...

《信号与系统》第 6 章 信号与系统的时域和频域特性

目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...