- 浏览: 119044 次
- 性别:
- 来自: 深圳
文章分类
最新评论
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 874String a = "ABCc"; ... -
例_实_建_创_口_接_过_通
2011-08-17 09:50 511public interface IJieKou { ... -
BASE64编码
2011-08-12 16:59 629将对ABC进行BASE64编码: // 1、首先取ABC对 ... -
流_件_文_java
2011-07-20 14:10 668读取 File file = new File(" ... -
作_操_合_集
2011-07-05 15:09 745//Collections List<String> ... -
BigDecimal
2011-07-02 18:42 894double num1 = 2.36; double num2 ... -
件_文_Properties
2011-06-29 19:26 660Properties properties = new Pro ... -
Eclipse平台BPEL开发
2011-06-25 00:15 736Eclipse平台BPEL开发 -
件_文_缩_压
2011-04-11 19:46 655/****************************** ... -
素_元_组_数_除_删_加_增
2011-04-11 19:44 598private static void delIndexEle ... -
作_操_件_文_Java
2011-04-06 20:39 692/****************************** ... -
式_格_字_数
2011-04-06 20:36 673System.out.println(&quo ... -
用_引_软
2011-04-06 20:28 722/****************************** ... -
过_程_载_加_类
2011-04-06 20:27 6351.编写源代码 2.jdk变异成.class文件 3.类加 ... -
器_时_定_java
2011-02-11 17:06 592public class aaa { //java定时执行 ... -
举_枚
2011-01-20 12:22 7601.枚举其实都是隐式的继承自java.lang.Enum。有类 ... -
类_e_l_i_F
2011-01-13 23:17 6121.File类提供了管理文件和目录的方法 delete() ... -
制_机_理_处_常_异
2011-01-13 22:29 7331.异常处理:如何表现异常情况?如何控制处理异常流程? 2. ... -
类_装_封
2011-01-12 22:52 7341.封装类作用 将基本数据类型转换成对象 封装类提 ...
相关推荐
IBM WebSphere Application Server (WAS) 8.5 配置与 IBM Web Services Software Development Kit for Java (WS_SDK_JAVA_TECH) 7.0.6.1 的整合是企业级Java应用程序开发的关键环节。本资源包提供了WS_SDK_JAVA_TECH...
Java_CUP_v10k是一个基于Java的词法和语法分析工具,主要用于自动生成Java代码。这个工具的主要功能是解析用户定义的文法规范(通常为`.cup`文件),然后生成对应的解析器和词法分析器(lexer)的Java源代码。在软件...
【SE_JAVA_EXP_E046.zip】是一个与Java编程相关的学习资源,它包含了易智教云课堂上一道练习题的满分答案。这道习题可能是面向正在学习Java编程的学生们,旨在帮助他们理解和掌握Java语言的核心概念和编程技巧。由于...
java相关项目开发短信功能使用的jar包
linux centos java opencv4.5.1开发依赖,由于在本地是windows环境,直接在opencv官网下载windows版本下载后,即可得到opencv-451.jar和opencv_java451.dll,可以愉快的开发及测试,但是测通过之后需要部署到服务器...
标题中的"SOM_Java_v.0.1.zip"是一个压缩包文件,其中包含了与Java相关的 SOM(可能是"System Object Model"或"Self-Organizing Maps"的缩写)的源代码,版本为0.1。这个项目可能是一个用于构建应用程序的框架或者库...
- 使用`SELECT * FROM USER_JAVA_POLICY`语句可以查询当前用户所拥有的所有Java权限信息。 - 该查询结果通常会包含授权的详细信息,例如授权名、类型、目标等。 2. **识别授权键值**: - 在查询结果中,找到与待...
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_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-...
【标题】"bbs.rar_bbs_bbs_sqlserver_java_java_BBS_simple_bbs_java_sqlserver"揭示了这个压缩包是一个关于论坛(BBS)开发的资源,主要涉及到的技术栈是Java编程语言和SQL Server数据库系统。这个简单的Java BBS...
赠送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-...
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.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的加密库来增强网站的安全性,或者利用Java的图形处理库来处理图像。通过PHP/Java Bridge,这些功能可以无缝地融入到PHP应用中。 总的来说,"php_java.jar"和"php_java.dll"是连接PHP...
https://blog.csdn.net/qq_27721169/article/details/98765646
sun_java_wireless_toolkit-2_5_2-windows.exe
libopencv_java3.so
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. ...