java算法----排序----(4)快速排序
package log; public class Test4 { /**
* java算法---快速排序
*
* @param args
*/
public static void main(String[] args) {
// 需要排序的数组
int arr[] = { 49, 20, 36, 51, 18, 94, 61, 31, 50 };
// 循环输出该数组内容
System.out.println("排序之前:");
for (int a : arr) {
System.out.print(a + "\t");
}
System.out.println(); if (arr.length > 0) {
sort(arr, 0, arr.length - 1);
}
// 循环输出该数组内容
System.out.println("排序之后:");
for (int a : arr) {
System.out.print(a + "\t");
}
System.out.println(); } public static int getMiddle(int[] list, int low, int high) {
int temp = list[low];
while (low < high) {
while (low < high && list[high] >= temp) {
high--;
}
list[low] = list[high];
while (low < high && list[low] <= temp) {
low++;
}
list[high] = list[low];
}
list[low] = temp;
return low;
} public static void sort(int[] list, int low, int high) {
if (low < high) {
int middle = getMiddle(list, low, high);
sort(list, low, middle - 1);
sort(list, middle + 1, high);
}
} }
下面这事控制台的输出
java算法----排序----(4)快速排序的更多相关文章
- php 实现冒泡算法排序、快速排序、选择排序,插入排序
许多人都说 算法是程序的核心,一个程序的好于差,关键是这个程序算法的优劣.作为一个初级phper,虽然很少接触到算法方面的东西 .但是对于冒泡排序,插入排序,选择排序,快速排序四种基本算法,我想还是要 ...
- java算法----排序----(6)希尔排序(最小增量排序)
package log; public class Test4 { /** * java算法---希尔排序(最小增量排序) * * @param args */ public static void ...
- java算法----排序----(5)归并排序
package log; import java.util.Arrays; public class Test4 { /** * java算法---归并排序 * * @param args */ pu ...
- java算法----排序----(3)冒泡排序
package log; public class Test4 { /** * java算法---冒泡排序 * * @param args */ public static void main(Str ...
- java算法----排序----(2)选择排序
package log; public class Test4 { /** * java算法---选择排序 * * @param args */ public static void main(Str ...
- java算法----排序----(1)插入排序
package log; public class Test4 { /** * java算法---插入排序 * * @param args */ public static void main(Str ...
- PHP算法排序之快速排序、冒泡排序、选择排序、插入排序性能对比
<?php //冒泡排序 //原理:从倒数第一个数开始,相邻的两个数比较,后面比前面的小,则交换位置,一直到比较第一个数之后则最小的会排在第一位,以此类推 function bubble_sor ...
- java算法----排序----(7)堆排序
package log; import java.util.Arrays; public class Test4 { /** * 堆排序 * * @param args */ public stati ...
- Java常见排序算法之快速排序
在学习算法的过程中,我们难免会接触很多和排序相关的算法.总而言之,对于任何编程人员来说,基本的排序算法是必须要掌握的. 从今天开始,我们将要进行基本的排序算法的讲解.Are you ready?Let ...
随机推荐
- GitHub使用SSHkey进行连接
SSH key的配置基本是我们使用git必备的配置,配置好可以避免频繁的在git push或者git pull的时候输入账号和密码 本来我的SSH key早就配置好了,结果他不起作用了,那就在配置一次 ...
- 学习css(TODO)
1. css 是一个什么样的角色? 答:css 负责控制网页的样式. 扩展:div + css 是经典的网页布局.实现网页内容与表现相分离. 2. css 的使用方式? 答:1. 内联式:直接在 HT ...
- Visualforce简介
Visualforce Visualforce是一个和Apex语言相匹配的开发框架.开发者可以使用Visualforce和Apex建立自定义网络应用程序. Visualforce的基本功能类似于前端框 ...
- C#语言————第四章 常用Convert类的类型转换方法
方法 说明Convert.ToInt32() 转换为整型(int 型)Convert.ToStringle() 转换为单精度浮点型(float 型)Convert.ToDouble() 转换为双精度 ...
- 转:SQL Server - 使用 Merge 语句实现表数据之间的对比同步
表数据之间的同步有很多种实现方式,比如删除然后重新 INSERT,或者写一些其它的分支条件判断再加以 INSERT 或者 UPDATE 等.包括在 SSIS Package 中也可以通过 Lookup ...
- mysql常见的错误代码
如果安装时或者工作中有问题,可以看错误日志分析问题原因: 1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能 ...
- 【PAT】B1027 打印沙漏(20 分)
#include<cstdio> #include<stdlib.h> char C='*'; int qiushu(int hang){//输入行数,求出字符数 int su ...
- LNMP下动静分离部署phpmyadmin软件包
LNMP环境肯定是先要配置好的.可以参考我之前的博客.那我们直接进行配置,我这里使用了三台机器进行动静分离部署,第一台负责nginx反向代理,第二台负责php-fpm应用程序以及mariadb的服务器 ...
- 关于plist文件的那些事
今天遇到新生问一个问题,就是用自己定义了一个plist文件,然后可以往里面写东西,但是写过再次运行的时候里面的数据总是最后一次写入的数据.后来就专门研究了一下plist文件. 大家都知道当你创建一个项 ...
- JS获取本周、本季度、本月、上月的开始日期、结束日期
/** * 获取本周.本季度.本月.上月的开始日期.结束日期 */ var now = new Date(); //当前日期 var nowDayOfWeek = ...