- 浏览: 117852 次
- 性别:
- 来自: 深圳
文章分类
最新评论
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 871String a = "ABCc"; ... -
例_实_建_创_口_接_过_通
2011-08-17 09:50 508public interface IJieKou { ... -
BASE64编码
2011-08-12 16:59 628将对ABC进行BASE64编码: // 1、首先取ABC对 ... -
流_件_文_java
2011-07-20 14:10 667读取 File file = new File(" ... -
作_操_合_集
2011-07-05 15:09 738//Collections List<String> ... -
BigDecimal
2011-07-02 18:42 892double num1 = 2.36; double num2 ... -
件_文_Properties
2011-06-29 19:26 655Properties properties = new Pro ... -
Eclipse平台BPEL开发
2011-06-25 00:15 735Eclipse平台BPEL开发 -
件_文_缩_压
2011-04-11 19:46 652/****************************** ... -
素_元_组_数_除_删_加_增
2011-04-11 19:44 596private static void delIndexEle ... -
作_操_件_文_Java
2011-04-06 20:39 689/****************************** ... -
式_格_字_数
2011-04-06 20:36 669System.out.println(&quo ... -
用_引_软
2011-04-06 20:28 721/****************************** ... -
过_程_载_加_类
2011-04-06 20:27 6311.编写源代码 2.jdk变异成.class文件 3.类加 ... -
器_时_定_java
2011-02-11 17:06 588public class aaa { //java定时执行 ... -
举_枚
2011-01-20 12:22 7561.枚举其实都是隐式的继承自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语言的核心概念和编程技巧。由于...
标题中的"DES.rar_DES java_DES JAVA_Des___JAVA_des_java des"表明这是一个关于Java实现DES加密算法的压缩包文件。DES(Data Encryption Standard)是一种广泛应用的块密码,它在1970年代由IBM开发,后来被美国国家...
标题中的"SOM_Java_v.0.1.zip"是一个压缩包文件,其中包含了与Java相关的 SOM(可能是"System Object Model"或"Self-Organizing Maps"的缩写)的源代码,版本为0.1。这个项目可能是一个用于构建应用程序的框架或者库...
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...
【标题】"bbs.rar_bbs_bbs_sqlserver_java_java_BBS_simple_bbs_java_sqlserver"揭示了这个压缩包是一个关于论坛(BBS)开发的资源,主要涉及到的技术栈是Java编程语言和SQL Server数据库系统。这个简单的Java BBS...
General_NetSDKDemo_Chn_Java_Linux64_IS_V1.00.41295.T.190925.7z 这里的包是Linux64最全的,大华技术说其他的linux动态库都是有问题的 分三个包 大华设备各种Demo及所需jar包 \libs\linux64 examples.jar ...
在Mac环境下,使用Java调用OpenCV库是一个常见的需求,特别是在计算机视觉和图像处理的项目中。OpenCV是一个强大的开源库,提供了丰富的功能,用于图像处理、计算机视觉算法以及机器学习。本文将详细介绍如何在Mac上...
例如,开发者可能需要使用Java的加密库来增强网站的安全性,或者利用Java的图形处理库来处理图像。通过PHP/Java Bridge,这些功能可以无缝地融入到PHP应用中。 总的来说,"php_java.jar"和"php_java.dll"是连接PHP...
sun_java_wireless_toolkit-2_5_2-windows.exe
opencv 编译后的os文件:libopencv_java430.so,编译版本opencv-4.3.0
(1)新建->变量名:JAVA_HOME变量值:D:\Java\jdk1.6.0_12(这只是我的JDK安装路径) (2)编辑->变量名:Path在变量值的最前面加上:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin (3)新建->变量名:CLASSPATH变量值:.;%JAVA_...
opencv343版本java中需要用到的dll,在eclipse中直接引用该动态链接库,结合对应的opencv的jar即可运行
【尚学堂】只用了2小时做出了Java黄金矿工小游戏项目_java初级项目_java练手项目_java项目实战_Java游戏开发实战教学_java小游戏.url
AdventNet_Agent_Toolkit_Java_Edition_6_0_0_keygen
献给对条码感兴趣的朋友,生成PDF417的JAVA包,含有反编译源码
j2ee_java_游戏论坛管理j2ee_java_游戏论坛管理 j2ee_java_游戏论坛管理j2ee_java_游戏论坛管理 j2ee_java_游戏论坛管理j2ee_java_游戏论坛管理 j2ee_java_游戏论坛管理j2ee_java_游戏论坛管理 j2ee_java_游戏论坛...
ACCP3.0作业案例_JAVA_HOMEWORK_SEMII_JAVA_雅虎注册系统:代码清单
java_JAVA_常用单词_.pdf
java_thread_programming