java学习之—数组的曾删改查
/**
* 数组的曾删改查
* Create by Administrator
* 2018/6/8 0008
* 上午 9:54
**/
public class HighArray {
private long[] a; private int nElems; public HighArray(int max){
a = new long[max];
nElems = 0;
} /**
* 使用二分查找法
* @param searchKey
* @return
*/
public int findOne(long searchKey){
// 数组的第一个
int lowerBound = 0;
// 数组的最后一个
int upperBound = nElems - 1;
// 数组的一半,下标
int curIn;
while (true){
curIn = (lowerBound + upperBound) / 2;
//判断这个数是不是数组的对半curIn是否相等
if(a[curIn] == searchKey){
return curIn;
}else if(lowerBound > upperBound){ //如果成立 测范围已经不存在了
return nElems;
}else {
//如果成立 则将范围设置curIn的后半部分,反之就设置为前半部分
if(a[curIn] < searchKey){
lowerBound = curIn + 1;
}else {
upperBound = curIn - 1;
}
}
}
} public boolean find(long searchKey){
int j;
for(j = 0; j < nElems; j++){
if(a[j] == searchKey){
break;
}
}
if (j == nElems){
return false;
}else {
return true;
}
} public void insert(long value){
a[nElems] = value;
nElems++;
} /**
* 保存排序
* @param value
*/
public void save(long value){
int j;
for (j=0; j<nElems; j++){
if(a[j] > value){
break;
}
}
for (int i = nElems; i > j; i--) {
a[i] = a[i-1];
}
a[j] = value;
nElems++;
} public boolean delete(long value){
int j = findOne(value);
// for(j = 0; j < nElems; j++){
// if(a[j] == value){
// break;
// }
// }
if (j == nElems){
return false;
}else {
for (int i = j; i < nElems; i++) {
a[i] = a[i+1];
}
nElems--;
return true;
}
} public void show(){
for (int i = 0; i < nElems; i++) {
System.out.print(a[i]+ " ");
}
System.out.println("");
} public static void main(String[] args) { HighArray array = new HighArray(100); array.save(10);
array.save(3);
array.save(2);
array.save(11);
array.save(9);
array.save(5);
array.save(4);
array.save(2);
array.save(7); array.show();
long num = 0;
System.out.println("查找结果"+num+":"+ array.find(num)); array.delete(2);
array.delete(5);
array.delete(8); array.show(); }
java学习之—数组的曾删改查的更多相关文章
- java对xml文件做增删改查------摘录
java对xml文件做增删改查 package com.wss; import java.io.File;import java.util.ArrayList;import java.util.Lis ...
- Shell数组的增删改查
Shell数组的增删改查 shell数组的定义及取值: a=(1 2 3) [root@bogon tmp]# echo ${a[*]} 1 2 3 [root@bogon tmp]# echo $ ...
- python学习之-成员信息增删改查
python学习之-成员信息增删改查 主要实现了成员信息的增加,修改,查询,和删除功能,写着玩玩,在写的过程中,遇到的问题,旧新成员信息数据的合并,手机号和邮箱的验证,#!/usr/bin/env p ...
- 使用java对sql server进行增删改查
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...
- Java API实现Hadoop文件系统增删改查
Java API实现Hadoop文件系统增删改查 Hadoop文件系统可以通过shell命令hadoop fs -xx进行操作,同时也提供了Java编程接口 maven配置 <project x ...
- EF学习笔记-1 EF增删改查
首次接触Entity FrameWork,就感觉非常棒.它节省了我们以前写SQL语句的过程,同时也让我们更加的理解面向对象的编程思想.最近学习了EF的增删改查的过程,下面给大家分享使用EF对增删改查时 ...
- Java Web(十) JDBC的增删改查,C3P0等连接池,dbutils框架的使用
前面做了一个非常垃圾的小demo,真的无法直面它,菜的抠脚啊,真的菜,好好努力把.菜鸡. --WH 一.JDBC是什么? Java Data Base Connectivity,java数据库连接,在 ...
- Java项目——模拟电话薄联系人增删改查
该项目模拟了电话本记录联系人的业务功能,用来练习对数据库的增删改查等操作. 菜单类:Menu -- 用来封装主菜单和个选项的子菜单 Person类: Person--联系人的实体类 TelNoteRe ...
- JDBC基础学习(一)—JDBC的增删改查
一.数据的持久化 持久化(persistence): 把数据保存到可掉电式存储设备中以供之后使用.大多数情况下,数据持久化意味着将内存中的数据保存到硬盘上加以固化,而持久化的实现过程大多通过各 ...
随机推荐
- apache和nginx结合使用
1 有时候我们希望将nginx和apache结合起来使用,nginx接受用户的请求,作为请求转发服务器,apache作为后端服务器. 2 配置如下 nginx 中将80端口的请求转发到8000端口上 ...
- 微信小程序接入,https服务器搭建和调试
在进行小程序开发时候,调试时候,希望在本地搭建一个https环境. 准备条件: 1.公网主机(阿里云或者腾讯云主机) 2外网访问工具natapp 步骤: 1.在主机上安装nginx(nginx转发到n ...
- Python中使用class(),面向对象有什么优势 转自知乎
https://www.zhihu.com/question/19729316 首先我是辣鸡,然后这个问题的确有点意思 首先,类是一个集合,包含了数据,操作描述的一个抽象集合 你可以首先只把类当做一个 ...
- 【转】具透 | 你可能不知道,iOS 10 有一个中国「特供」的联网权限功能
9 月底,苹果正式在北京成立了苹果中国研发中心.近几年,我们也在每年更新的 iOS 系统中不断看到,苹果对中国市场的关照.从早前的九宫格输入法,到最近的骚扰电话拦截,都照顾了国内用户的需求. 在 iO ...
- Caused by: java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
错误信息如下: Caused by: java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java ...
- 【C#复习总结】垃圾回收机制(GC)2
理解C#垃圾回收机制我们首先说一下CLR(公共语言运行时,Common Language Runtime)它和Java虚拟机一样是一个运行时环境,核心功能包括:内存管理.程序集加载.安全性.异步处理和 ...
- CentOS 7+nginx+PHP+php-fpm
根据网上资料配置: location ~ \.php$ { #include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index in ...
- Git简易的命令入门
Git 全局设置: git config --global user.name "kszsa" git config --global user.email "duyon ...
- 十五、bootstrap-select的使用方法
参考来源https://www.cnblogs.com/nianyifenzhizuo/p/8119462.html 需要的css和js <link rel="stylesheet&q ...
- Python requests 多线程抓取 出现HTTPConnectionPool Max retires exceeded异常
https://segmentfault.com/q/1010000000517234 -- ::, - oracle - ERROR - data format error:HTTPConnecti ...