数据结构之数组封装
一般数组封装:
packagech01;
publicclassMyArray {
privatelong[]arr;
//表示有效数据的长度
privateintelements;
publicMyArray() {
arr=newlong[50];
}
publicMyArray(intmaxsize) {
arr=newlong[maxsize];
}
/**
* 添加数据
*/
publicvoidinsert(longvalue) {
arr[elements] = value;
elements++;
}
/**
* 显示数据
*/
publicvoiddisplay() {
for(inti = 0; i
}
}
/**
* 查找数据
*/
publicintsearch(longvalue) {
inti;
for(i = 0; i
if(value ==arr[i]) {
break;
}
}
if(i ==elements) {
return-1;
}else{
returni;
}
}
/**
* 查找数据,根据索引来查
*/
publiclongget(intindex) {
if(index >=elementsindex < 0) {
thrownewArrayIndexOutOfBoundsException();
}else{
returnarr[index];
}
}
/**
* 删除数据
*/
publicvoiddelete(intindex) {
if(index >=elementsindex < 0) {
thrownewArrayIndexOutOfBoundsException();
}else{
for(inti = index; i
arr[index] =arr[index + 1];
}
elements--;
}
}
/**
* 更新数据
*/
publicvoidchange(intindex,intnewvalue) {
if(index >=elementsindex < 0) {
thrownewArrayIndexOutOfBoundsException();
}else{
arr[index] = newvalue;
}
}
}
有序数组封装:
packagech01;
publicclassMyOrderArray {
privatelong[]arr;
//表示有效数据的长度
privateintelements;
publicMyOrderArray() {
arr=newlong[50];
}
publicMyOrderArray(intmaxsize) {
arr=newlong[maxsize];
}
/**
* 添加数据
*/
publicvoidinsert(longvalue) {
inti;
for(i = 0; i
if(arr[i] > value) {
break;
}
}
for(intj =elements; j > i; j--) {
arr[j] =arr[j - 1];
}
arr[i] = value;
elements++;
}
/**
* 显示数据
*/
publicvoiddisplay() {
for(inti = 0; i
}
}
/**
* 查找数据(线性数组)
*/
publicintsearch(longvalue) {
inti;
for(i = 0; i
if(value ==arr[i]) {
break;
}
}
if(i ==elements) {
return-1;
}else{
returni;
}
}
/**
* 二分法查找数据(这个数组必须是有序的)
*/
publicintbinarySearch(longvalue) {
intmiddle = 0;
intlow = 0;
intpow =elements;
while(true) {
middle = (pow + low) / 2;
if(arr[middle] == value) {
returnmiddle;
}elseif(low > pow) {
return-1;
}else{
if(arr[middle] > value) {
//往左边继续查
pow = middle - 1;
}else{
//往右边继续查
low = middle + 1;
}
}
}
}
/**
* 查找数据,根据索引来查
*/
publiclongget(intindex) {
if(index >=elementsindex < 0) {
thrownewArrayIndexOutOfBoundsException();
}else{
returnarr[index];
}
}
/**
* 删除数据
*/
publicvoiddelete(intindex) {
if(index >=elementsindex < 0) {
thrownewArrayIndexOutOfBoundsException();
}else{
for(inti = index; i
arr[index] =arr[index + 1];
}
elements--;
}
}
/**
* 更新数据
*/
publicvoidchange(intindex,intnewvalue) {
if(index >=elementsindex < 0) {
thrownewArrayIndexOutOfBoundsException();
}else{
arr[index] = newvalue;
}
}
}
- 机器学习(五)使用Python和R语言从头开始理解和编写神经网络介绍目录神经网络背后的直观知识多层感知器及其基础知识什么是激活函数?前向传播,反向传播和训练次数(epochs)多层感知器全批量梯度下降
- 洛谷P2251 质量检测
- React第三方组件6(状态管理之Mobx的使用④TodoList下)
- HDU 1536 S-Nim
- 洛谷P2723 丑数 Humble Numbers
- Python黑帽编程2.5 函数
- 洛谷P1317 低洼地
- ZOJ 3594 Sexagenary Cycle
- React第三方组件6(状态管理之Mobx的使用③TodoList中)
- P1554 梦中的统计
- Word2Vec教程-Skip-Gram模型模型“伪”任务关于模型的更多细节隐藏层输出层
- React第三方组件6(状态管理之Mobx的使用②TodoList上)
- The 9th Zhejiang Provincial Collegiate Programming Contest
- P1789 【Mc生存】插火把
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- PHP设计模式之数据访问对象模式(DAO)原理与用法实例分析
- PHP实现简单登录界面
- PHP创建XML接口示例
- PHP设计模式之单例模式入门与应用详解
- Laravel框架实现定时Task Scheduling例子
- PHP使用 Pear 进行安装和卸载包的方法详解
- Laravel5.1框架注册中间件的三种场景详解
- 浅谈laravel数据库查询返回的数据形式
- PHP设计模式之策略模式(Strategy)入门与应用案例详解
- 基于Python3读写INI配置文件过程解析
- laravel 解决paginate查询多个字段报错的问题
- php判断/计算闰年的方法小结【三种方法】
- Laravel定时任务的每秒执行代码
- PHP学习记录之面向对象(Object-oriented programming,OOP)基础【类、对象、继承等】
- Python通过zookeeper实现分布式服务代码解析