- 浏览: 117331 次
- 性别:
- 来自: 深圳
文章分类
最新评论
JAVA实现一个快速排序?
排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)
//冒泡排序
int[] a = new int[] { 1, 3, 9, 2, 0, 6, 8, 7, 5 };
int b = 0;
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a.length - i - 1; j++) {
if (a[j] > a[j + 1]) {
b = a[j];
a[j] = a[j + 1];
a[j + 1] = b;
}
}
}
//插入排序
for(int i=1;i<arr.length;i++){
int temp=arr[i];
int j=i;
for(;j>0 && arr[j-1]>temp;j--){
arr[j]=arr[j-1];
}
arr[j]=temp;
}
///////////////////////////////////////////////
/**
* 测试类
* @param args
*/
public static void a()
{
int[] aa = new int[] {2, 8, 9, 2, 1, 4, 6, 5};
Arrays.sort(aa);
get(aa, 9);
}
/**
* 使用二分查找法查找数组中的某个数
* @param index 数组集合
* @param num 要查找的数
*/
public static void get(int[] index, int num)
{
int leng = index.length;
if (leng > 0)
{
if (leng == 1)
{
if (index[0] == num)
{
System.out.println("result: " + num); //$NON-NLS-1$
}
return;
}
int l = leng / 2;
if (index[l] > num)
{
int[] a = new int[l];
System.arraycopy(index, 0, a, 0, a.length);
get(a, num);
}
else if (index[l] < num)
{
int[] a = new int[leng - l - 1];
System.arraycopy(index, l + 1, a, 0, a.length);
get(a, num);
}
else if (index[l] == num)
{
System.out.println("result: " + num); //$NON-NLS-1$
}
}
}
//二分查找法
int[] index = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9};
Arrays.sort(index);
int begin = 0;
int end = index.length;
while (end - begin >= 0)
{
int center = (begin + end) / 2;
if (index[center] == a)
{
System.out.println("OK" + index[center]);
break;
}
else if (index[center] > a)
{
end = center - 1;
}
else if (index[center] < a)
{
begin = center + 1;
}
}
排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)
//冒泡排序
int[] a = new int[] { 1, 3, 9, 2, 0, 6, 8, 7, 5 };
int b = 0;
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a.length - i - 1; j++) {
if (a[j] > a[j + 1]) {
b = a[j];
a[j] = a[j + 1];
a[j + 1] = b;
}
}
}
//插入排序
for(int i=1;i<arr.length;i++){
int temp=arr[i];
int j=i;
for(;j>0 && arr[j-1]>temp;j--){
arr[j]=arr[j-1];
}
arr[j]=temp;
}
///////////////////////////////////////////////
/**
* 测试类
* @param args
*/
public static void a()
{
int[] aa = new int[] {2, 8, 9, 2, 1, 4, 6, 5};
Arrays.sort(aa);
get(aa, 9);
}
/**
* 使用二分查找法查找数组中的某个数
* @param index 数组集合
* @param num 要查找的数
*/
public static void get(int[] index, int num)
{
int leng = index.length;
if (leng > 0)
{
if (leng == 1)
{
if (index[0] == num)
{
System.out.println("result: " + num); //$NON-NLS-1$
}
return;
}
int l = leng / 2;
if (index[l] > num)
{
int[] a = new int[l];
System.arraycopy(index, 0, a, 0, a.length);
get(a, num);
}
else if (index[l] < num)
{
int[] a = new int[leng - l - 1];
System.arraycopy(index, l + 1, a, 0, a.length);
get(a, num);
}
else if (index[l] == num)
{
System.out.println("result: " + num); //$NON-NLS-1$
}
}
}
//二分查找法
int[] index = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9};
Arrays.sort(index);
int begin = 0;
int end = index.length;
while (end - begin >= 0)
{
int center = (begin + end) / 2;
if (index[center] == a)
{
System.out.println("OK" + index[center]);
break;
}
else if (index[center] > a)
{
end = center - 1;
}
else if (index[center] < a)
{
begin = center + 1;
}
}
发表评论
文章已被作者锁定,不允许评论。
-
美邦智能
2013-03-30 14:35 0员工管理(工资,假期,) 客户管理 供应商管理 采购模块 ... -
加密解密
2011-12-03 14:59 870String a = "ABCc"; ... -
例_实_建_创_口_接_过_通
2011-08-17 09:50 507public interface IJieKou { ... -
BASE64编码
2011-08-12 16:59 626将对ABC进行BASE64编码: // 1、首先取ABC对 ... -
流_件_文_java
2011-07-20 14:10 665读取 File file = new File(" ... -
作_操_合_集
2011-07-05 15:09 737//Collections List<String> ... -
BigDecimal
2011-07-02 18:42 889double num1 = 2.36; double num2 ... -
件_文_Properties
2011-06-29 19:26 654Properties properties = new Pro ... -
Eclipse平台BPEL开发
2011-06-25 00:15 733Eclipse平台BPEL开发 -
件_文_缩_压
2011-04-11 19:46 649/****************************** ... -
素_元_组_数_除_删_加_增
2011-04-11 19:44 594private static void delIndexEle ... -
作_操_件_文_Java
2011-04-06 20:39 687/****************************** ... -
式_格_字_数
2011-04-06 20:36 668System.out.println(&quo ... -
用_引_软
2011-04-06 20:28 721/****************************** ... -
过_程_载_加_类
2011-04-06 20:27 6301.编写源代码 2.jdk变异成.class文件 3.类加 ... -
器_时_定_java
2011-02-11 17:06 587public class aaa { //java定时执行 ... -
举_枚
2011-01-20 12:22 7551.枚举其实都是隐式的继承自java.lang.Enum。有类 ... -
类_e_l_i_F
2011-01-13 23:17 6101.File类提供了管理文件和目录的方法 delete() ... -
制_机_理_处_常_异
2011-01-13 22:29 7291.异常处理:如何表现异常情况?如何控制处理异常流程? 2. ... -
类_装_封
2011-01-12 22:52 7301.封装类作用 将基本数据类型转换成对象 封装类提 ...
相关推荐
【SE_JAVA_EXP_E046.zip】是一个与Java编程相关的学习资源,它包含了易智教云课堂上一道练习题的满分答案。这道习题可能是面向正在学习Java编程的学生们,旨在帮助他们理解和掌握Java语言的核心概念和编程技巧。由于...
Java_CUP_v10k是一个基于Java的词法和语法分析工具,主要用于自动生成Java代码。这个工具的主要功能是解析用户定义的文法规范(通常为`.cup`文件),然后生成对应的解析器和词法分析器(lexer)的Java源代码。在软件...
java_011 java 人脸识别完整源代码java_011 java 人脸识别完整源代码java_011 java 人脸识别完整源代码java_011 java 人脸识别完整源代码java_011 java 人脸识别完整源代码java_011 java 人脸识别完整源代码java_011...
linux centos java opencv4.5.1开发依赖,由于在本地是windows环境,直接在opencv官网下载windows版本下载后,即可得到opencv-451.jar和opencv_java451.dll,可以愉快的开发及测试,但是测通过之后需要部署到服务器...
JAVA_API_1.7中文JAVA_API_1.7中文JAVA_API_1.7中文JAVA_API_1.7中文JAVA_API_1.7中文JAVA_API_1.7中文JAVA_API_1.7中文JAVA_API_1.7中文JAVA_API_1.7中文JAVA_API_1.7中文JAVA_API_1.7中文JAVA_API_1.7中文JAVA_API...
java与PLC通信的实现代码,包含读和写
java_util_concurrent_user_guide.zipjava_util_concurrent_user_guide.zipjava_util_concurrent_user_guide.zipjava_util_concurrent_user_guide.zipjava_util_concurrent_user_guide.zipjava_util_concurrent_user...
Java 环境配置与设置 JAVA_HOME, CLASSPATH, PATH 的目的 Java 环境配置是 Java 开发的基础,我们需要正确地配置 JAVA_HOME, CLASSPATH, PATH 等环境变量,以便正确地编译和运行 Java 程序。在本节中,我们将详细地...
`.`表示当前目录,`%JAVA_HOME%\lib`和`$JAVA_HOME/lib`包含了JDK的核心类库,`%JAVA_HOME%\lib\ext`和`$JAVA_HOME/lib/ext`则是扩展类库目录。 另外,`JAVA_JRE`虽然不是必须的环境变量,但有时会被设置来指向Java...
代理Java包,用于生成JVM的健康的数据,jmx_prometheus_javaagent-0.12.0.jar
赠送jar包:flink-streaming-java_2.11-1.13.2.jar; 赠送原API文档:flink-streaming-java_2.11-1.13.2-javadoc.jar; 赠送源代码:flink-streaming-java_2.11-1.13.2-sources.jar; 赠送Maven依赖信息文件:flink-...
然后在你存放的java_ee_sdk-7-jdk7-windows-x64.exe的目录先启动终端(cmd),执行命令,使其安装指向java的运行环境。 java_ee_sdk-7-jdk7-windows-x64.exe -j "你安装jre(java运行环境的jre目录
General_NetSDKDemo_Chn_Java_Linux64_IS_V1.00.41295.T.190925.7z 这里的包是Linux64最全的,大华技术说其他的linux动态库都是有问题的 分三个包 大华设备各种Demo及所需jar包 \libs\linux64 examples.jar ...
赠送jar包:flink-streaming-java_2.12-1.14.3.jar; 赠送原API文档:flink-streaming-java_2.12-1.14.3-javadoc.jar; 赠送源代码:flink-streaming-java_2.12-1.14.3-sources.jar; 赠送Maven依赖信息文件:flink-...
赠送jar包:flink-streaming-java_2.12-1.14.3.jar; 赠送原API文档:flink-streaming-java_2.12-1.14.3-javadoc.jar; 赠送源代码:flink-streaming-java_2.12-1.14.3-sources.jar; 赠送Maven依赖信息文件:flink-...
libopencv_java3.so
https://blog.csdn.net/qq_27721169/article/details/98765646
import org.java_websocket.WebSocket; import org.java_websocket.WebSocketImpl; import org.java_websocket.framing.Framedata; import org.java_websocket.handshake.ClientHandshake; import org.java_...
【SAP_GUI_730_JAVA_MAC】是一款专为苹果MAC操作系统设计的SAP图形用户界面(GUI)版本,版本号为730。SAP GUI是SAP系统的重要组成部分,它允许用户通过图形化的界面与SAP应用进行交互,执行各种业务操作。这个版本...
Java Platform, Enterprise Edition 8 SDK Update 1 Java EE 8 continues to improve API and programming models needed for today's applications and adds features requested by our world-wide community. ...