java中有序数组比无序数值好_java面向对象的有序数组和无序数组的比较

packageaa;classArray{//定义一个有序数组

private long[] a;//定义数组长度

private intnElems;//构造函数初始化

public Array(intmax){

a= new long[max];

nElems= 0;

}//size函数

public intsize(){returnnElems;

}//定义添加函数

public void insert(longvalue){//将value赋值给数组成员

a[nElems] =value;//然后将数组长度加一

nElems ++;longtemp;//用冒泡法排序

for(int i = 0; i < nElems - 1; i ++)

{for(int j = 0; j < nElems - 1 - i; j++)

{if(a[j] > a[j + 1])

{

temp=a[j];

a[j]= a[j + 1];

a[j+ 1] =temp;

}

}

}

}//定义查找方法

public int find(longsearchKey){//因为是有序数组,我们可以用二分法来查找时间为 O(logN),如果线性查找则为O(N)//下限

int lowerBound = 0;//上限

int upperBound = nElems -1;//中间值

intcurIndex;while(true)

{

curIndex= (lowerBound + upperBound) / 2;if(a[curIndex] ==searchKey)

{returncurIndex;

}else if(lowerBound >upperBound)

{returnnElems;

}else{if(a[curIndex] >searchKey)

{

upperBound= curIndex -1;

}else{

lowerBound= curIndex + 1;

}

}

}

}//定义删除方法

public boolean delete(longvalue){int index =find(value);if(index ==size())

{return false;

}else{for(int i = index; i < size(); i++)

{

a[i]= a[i + 1];

}

nElems--;return false;

}

}//定义显示方法

public voiddisplay(){for(int j = 0; j < nElems; j++)

{

System.out.println(a[j]+ " ");

}

System.out.println("");

}

}public classArr {public static voidmain(String[] args)

{int maxSize = 100;

Array arr= newArray(maxSize);

arr.insert(77);

arr.insert(99);

arr.insert(44);

arr.insert(55);

arr.insert(22);

arr.insert(88);

arr.insert(11);

arr.insert(22);

arr.insert(66);

arr.insert(33);

arr.display();int searchKey = 54;if(arr.find(searchKey) !=arr.size())

{

System.out.println("found" +searchKey);

}else{

System.out.println("cant find" +searchKey);

}

arr.delete(22);

arr.delete(55);

arr.delete(99);

arr.display();

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/528402.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java成员的访问权限_Java成员的访问权限

类中某成员(方法或属性,method or field)的访问权限:1、package(或称为friendly&#xff0c;但不用写出&#xff0c;friendly也不是关键字)权限&#xff0c;在同一包中的类和继承该类的子类可以访问&#xff1b;2、public权限&#xff0c;任何类都可以访问&#xff1b;3、priva…

java jvm 加载类的顺序_java JVM-类加载静态初始化块调用顺序

测试类加载的全过程public class Have {static {System.out.println("加载Have");//先加载Have再调用main方法}public static void main(String[] args) throws Exception {System.out.println("main方法"); //先调main方法A anew A(); //先初始化父类&…

lua jit java jit_Lua JIT 2.0 发布了,一百五十倍的性能提升!

jzhang2014-4-7 15:44:00阅读(2432)评论(2)先把官方主页摆出来&#xff1a;外链网址已屏蔽luajit.org/luajit.htmlLua JIT 1.0早就有了&#xff0c;但是性能一般&#xff0c;这次的2.0是重新编写的&#xff0c;优化效果有了质的飞跃。下面这个表是作者的测试结果&#xff0c;其…

java实验_Java实验报告(实验一)

课程&#xff1a;Java程序设计 班级&#xff1a; 1351姓名&#xff1a;王玮怡 学号&#xff1a;20135116成绩&#xff1a; 指导教师&#xff1a;娄嘉鹏 实验日期&#xff1a;2015.04.15实验密级&#xff1a; 预习程度&#…

java web 文件上传工具类_JavaWeb中实现文件上传的方式有哪些?

上回我们说了下文件下载的方式有哪些&#xff0c;这次我们从不同的环境下简单来说说文件上传的方式有哪些。文件上传的方式Servlet2.5 方式Servlet3.0 方式SpringMVC 方式案例实操Servlet2.5 方式文件上传涉及到前台页面的编写和后台服务器端代码的编写&#xff0c;前台发送文件…

socket connect java_网络编程 – 为什么Java的socket.connect()消耗100%的cpu资源?

我创建了一个线程池并为它提供了50个连接到服务器的任务.所以一旦完成连接,发送一些数据,然后断开连接.它的读取超时设置为5秒(当然是5000长).我甚至将线程池设置为最大大小为1.然后在linux上启动它,然后运行htop(更好的top版本)来检查CPU使用率.我一直在100&#xff05;看到我…

python renamer模块_artellapipe-tools-renamer-以简单的方式重命名DCC对象的工具-Tomas Poveda...

作者:Tomas Poveda### 作者邮箱:tpovedatdgmail.com### 首页:https://github.com/ArtellaPipe/artellapipe-tools-renamer### 文档:None### 下载链接artellapipe-tools-renamerTool to rename DCC objects in an easy way.. image:: https://travis-ci.com/ArtellaPipe/artella…

类库java_Java类库和常用类库介绍

Java类库和常用类库介绍2018-09-20Java类库和常用类库介绍——序作者&#xff1a;zccstJava类库概念&#xff1a;Java的应用程序接口(API)以包的形式来组织&#xff0c;每个包提供了大量的相关类、接口和异常处理类&#xff0c;这些包的集合就是Java的类库包名以Java开始的包是…

python自己重启自己程序_python 自动重启本程序

#!/usr/local/bin/python#-*- coding: UTF-8 -*-#####################################################################import os,time#def close():# print "程序重启&#xff01;&#xff01;&#xff01;&#xff01;"# print time.strftime(%Y.%m.%d-%H.%M.%S…

centos上如何装python_centos如何安装Python3

摘自&#xff1a;https://www.cnblogs.com/Mr-wangxd/p/7028285.htmlLinux下默认系统自带python2.6的版本&#xff0c;这个版本被系统很多程序所依赖&#xff0c;所以不建议删除&#xff0c;如果使用最新的Python3那么我们知道编译安装源码包和系统默认包之间是没有任何影响的&…

gnu.getopt java_c – 用于GNU getopt()的-W选项是什么?

The -W (capital-W) option shall be reserved for vendor options.If optstring contains W followed by a semicolon ( ; ), then -W foo is treated as the long option --foo. (The -W option is reserved by POSIX.2 for implementation extensions.)有人能够以更清晰的方…

java 与python读写文件速度_Python和Java读写文件的对比

博主平时用Python比较多&#xff0c;最近因为工作需要使用Java编程&#xff0c;比较之下&#xff0c;发现Python读写文件真是太方便了&#xff01;Java读写文件非常繁琐&#xff0c;简直让人抓狂&#xff01;Python读写文件的语句读文件with open(readFile, r) as inFile:for l…

java 字节输出流_Java IO详解(三)------字节输入输出流

那么这篇博客我们讲的是字节输入输出流&#xff1a;InputStream、OutputSteam(下图红色长方形框内)&#xff0c;红色椭圆框内是其典型实现(FileInputSteam、FileOutStream)1、字节输出流&#xff1a;OutputStreampublic abstract class OutputStreamextends Objectimplements C…

java 缩略图 库_Thumbnailator:一个高质量Java缩略图开发库

February 24, 2020: Thumbnailator 0.4.11 has been released! See Changes for details.Thumbnailator is now available through Maven!What is Thumbnailator?Thumbnailator is a thumbnail generation library for Java.Why Thumbnailator?Making high-quality thumbnail…

java数据段 静态区_回顾一下基础,关于栈与堆,常量池,静态区

先来张简单的图:1.jpg------------------分割------------------------栈内存:1.操作比较快速.但是为私有.2.线程之间不共享.所以存放一些基本数据类型,局部变量(方法走完就回收了),3.对于引用数据类型的地址引用.堆内存:1.new出来的实例2.成员变量的值(如果是基本数据类型,比如…

java mqtt客户端_java 实现mqtt发送和接收消息客户端具体用法及测试代码

注&#xff1a;客户端代码实现请看我的上一篇1mqtt发送消息发送时不用多讲&#xff0c;每次发送肯定需要运行一次发送消息方法MyMqttClient mqttClient new MyMqttClient();org.junit.Testpublic void testMqtt1() throws InterruptedException, MqttException {final long ti…

java类变量什么时候初始化_Java类变量的初始化时机

先上代码测试类public class MyNumber {public static MyNumber myNumbernew MyNumber(2.8);private static double value20;public double currentvalue;public MyNumber(double number){currentvaluevalue-number;}}里面存放了一些静态变量。调用类double result1 MyNumber.m…

java项目如何更改路径_Java修改eclipse中web项目的server部署路径问题

和MyEclipse不一样&#xff0c;在Eclipse中做的Web项目默认是不支持将项目发布到Web服务器上的&#xff0c;会发布到工作空间的某个目录&#xff0c;因此无法在外部启动Tomcat来运行Web项目&#xff0c;只有打开Eclipse中的服务器&#xff0c;才能运行Web项目。所以要对Eclipse…

Java中stringbutter_java中string与ButterString的区别

String和StringBuffer的区别&#xff0c;网上资料可以说是数不胜数&#xff0c;但是看到这篇文章&#xff0c;感觉里面做的小例子很有代表性&#xff0c;所以转一下&#xff0c;并自己做了一点总结。在java中有3个类来负责字符的操作。1.Character 是进行单个字符操作的&#x…

java xpdf 转换成html_java将Word/Excel/PDF文件转换成HTML整理

项目开发过程中&#xff0c;需求涉及到了各种文档转换为HTML或者网页易显示格式&#xff0c;现在将实现方式整理如下&#xff1a;一、使用Jacob转换Word,Excel为HTML“JACOB一个Java-COM中间件.通过这个组件你可以在Java应用程序中调用COM组件和Win32 libraries。”首先下载Jac…