首页 > 编程知识 正文

快速排序java算法,java版本的快速排序

时间:2023-05-06 19:03:36 阅读:128861 作者:2592

import java.util.Arrays;

公共类主{

publicstaticvoidmain (字符串[ ] args ) {

int [ ] data={ 2,3,5,1,4,5,2,13,51,9,10,15,17,6,21,33,44,77,22 };

system.out.println (arrays.tostring (data );

快速排序(数据,0,数据.长度-1);

system.out.println (arrays.tostring (data );

索引=二进制搜索(数据,4 );

system.out.println (索引;

}

隐私保护分区(int [ ] data,int left,int right ) {

int i=left;

int j=right;

//pivot

int pivot=data [ left (右左)/2]

//完成排序

wile(I=j ) {

//从右向左找到小于第一个pivot的数

while(data[j]pivot ) {

j----;

}

//从左到右找到大于第一个pivot的数量

while(data[I]pivot ) {

I;

}

//交换

if(I=j ) {

int p=data[i];

data[i]=data[j];

data[j]=p;

I;

j----;

}

}

返回I;

}

publicstaticvoidquicksort (int [ ]数据,int left,int right ) {

intindex=partition (数据、左、右);

左索引-1(if )

快速排序(数据、左、索引-1);

}

if (索引权限) {

快速排序(数据、索引、权限);

}

}

publicstaticintbinarysearch (int [ ]数据,int target )。

int left=0,right=data.length - 1;

wile(left=right ) {

int mid=left (右左)/2;

if(data[mid]target ) {

left=mid 1;

}

if(data[mid]=target ) {

right=mid - 1;

}

}

返回左;

}

publicintbinarysearchrecur (int [ ] data,int target,int left,int right ) {

if (左光线) {

返回左;

}

int mid=left (右左)/2;

if(data[mid]target ) {

returnbinarysearchrecur (数据、目标、mid 1、right );

} else {

returnbinarysearchrecur (数据、目标、左、mid - 1 );

}

}

}

谷歌快速排序和二分查找

func main () ARR:=[]int ) 0,1,2,3,4,5,6 ) fmt.println (binary search ) ARR,5 ) } func Binary ),只需2分钟.

二分之一的数据结构寻找——Java语言的实现

场景描述:设数据序列的长度为n,调查是否在数据序列中,若有,则返回到序列中的第几个位置。 首先想到的可能是按照顺序,从前到后一个个地找。 如果最后找不到

,则说明 ...

数据结构和算法设计专题之---二分查找(Java版)

1.前提:二分查找的前提是需要查找的数组必须是已排序的,我们这里的实现默认为升序 2.原理:将数组分为三部分,依次是中值(所谓的中值就是数组中间位置的那个值)前,中值,中值后:将要查找的值和数组的中值 ...

二分查找(Java)

二分查找的前提的要查找的数组必须有序. 代码如下: 程序1 public class source { public int binary_sort(int[] array, int item) { ...

二分查找(Java实现)

二分查找:递归实现 public class BinarySearch { /** * @param arr 代查找的数组,需要有序 * @param left 查找区间的左界限 * @param r ...

二分查找-Java版

/** * * 二分查找算法 * * * * @param srcArray 有序数组 * * @param target 查找元素 * * @return srcArray数组下标,没找到返回-1 ...

二分查找java实现

二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法.但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列. 二分查找思路非常简单,由粗暴的遍历查找改为 ...

二分查找java代码

public int find(long searchKey){ int i; int begin = 0; int end = nElems - 1; while(true){ i = (begin ...

快速排序和二分查找(Javascript)

var data = [8, 3, 4, 1, 18, 22, 11, 3, 5, 6, 2, 1, 77] quickSort(data, 0, data.length - 1) console.l ...

随机推荐

移动开发中使用Onsen UI的笔记

onsen var m_index = ons.bootstrap() 初始化框架 m_index 赋值 增加对象. m_index.value('getUser',{ // user:window. ...

jQuery基础选择器

attr()方法的功能是设置或获取元素的某项属性值. attr("disabled", "true”)表示使该功能不可用. #id 选择器 $("#my_id& ...

WPF随手小记之二 ——改变DataGrid样式

大部分时候我们并不需要手动改变DataGrid的样式,因为用默认的其实也看得过去,而且在DataGrid中的数据也远比外观重要. 但总有时候,我们需要做点必要的UI修改来使DataGrid更美观. 一 ...

jQuery 遍历 – 过滤

缩小搜索元素的范围 三个最基本的过滤方法是:first(), last() 和 eq(),它们允许您基于其在一组元素中的位置来选择一个特定的元素. 其他过滤方法,比如 filter() 和 not() ...

从零开始学安全(十四)●Windows Server 2012 R2 本地搭建FTP服务器

打开仪表盘添加角色和功能向导 下一步 等待安装完成 打开iis 新建站点 点击 选一个目录作为 ftp文件服务器的存储路径 后面就和iis 创建站点一样了 匿名就不需要密码 就可以访问基本需要特定的账 ...

to_date

SQL> ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'; 会话已更改. SQL> SELECT TO_DATE(' ...

2.12 C++ explicit关键字详解

参考:http://www.cnblogs.com/ymy124/p/3632634.html 总结: 带参数的构造函数中有两种比较常见的构造函数:拷贝构造函数和转型构造函数. 转型构造函数只有一个参 ...

14. js字符串截取substring用法

columnIds = columnIds.substring(0, columnIds.length-1);

IOS网络篇1之截取本地URL请求(NSURLProtocol)

本文转载至 http://blog.csdn.net/u014011807/article/details/39894247 NSURLProtocol 是iOS中非常重要的一个部分,我们经常会在以下 ...

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。