java快速排序法(用java快速排序法,求十个数中的最大值)

2024-07-17 05:50:38 1

java快速排序法(用java快速排序法,求十个数中的最大值)

各位老铁们,大家好,今天由我来为大家分享java快速排序法,以及用java快速排序法,求十个数中的最大值的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

本文目录

用java快速排序法,求十个数中的最大值

public class QuickSort {    private int list = {};        public void setList(int list){        this.list = list;    }        public int getList(){        return this.list;    }        public void sort(int left, int right){        if(left 》 right) return;        int i = left;        int j = right;        int tmp = list;        int t;        while(i != j){            while(list 》= tmp && i 《 j) j--;            while(list 《= tmp && i 《 j) i++;                        if (i 《 j){                t = list;                list;                list =  t;            }        }                list;        list = tmp;        sort(left, i -1);        sort(i+1, right);    }}

java算法面试题:排序都有哪几种方法

一、冒泡排序 view plain copypackage sort.bubble;import java.util.Random;/*** 依次比较相邻的两个数,将小数放在前面,大数放在后面* 冒泡排序,具有稳定性* 时间复杂度为O(n^2)* 不及堆排序,快速排序O(nlogn,底数为2)* @author liangge**/public class Main {public static void main(String args) {Random ran = new Random();int;for(int i = 0 ; i 《 10 ; i++){sort = ran.nextInt(50);}System.out.print("排序前的数组为");for(int i : sort){System.out.print(i+" ");}buddleSort(sort);System.out.println();System.out.print("排序后的数组为");for(int i : sort){System.out.print(i+" ");}}/*** 冒泡排序* @param sort*/private static void buddleSort(int sort){for(int i=1;i《sort.length;i++){for(int j=0;j《sort.length-i;j++){if(sort){int temp = sort;sort;sort = temp;}}}}} 二、选择排序 view plain copypackage sort.select;import java.util.Random;/*** 选择排序* 每一趟从待排序的数据元素中选出最小(或最大)的一个元素,* 顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。* 选择排序是不稳定的排序方法。* @author liangge**/public class Main {public static void main(String args) {Random ran = new Random();int;for (int i = 0; i 《 10; i++) {sort = ran.nextInt(50);}System.out.print("排序前的数组为");for (int i : sort) {System.out.print(i + " ");}selectSort(sort);System.out.println();System.out.print("排序后的数组为");for (int i : sort) {System.out.print(i + " ");}}/*** 选择排序* @param sort*/private static void selectSort(int sort){for(int i =0;i《sort.length-1;i++){for(int j = i+1;j《sort.length;j++){if(sort){int temp = sort;sort;sort = temp;}}}}} 三、快速排序 view plain copypackage sort.quick;/*** 快速排序 通过一趟排序将要排序的数据分割成独立的两部分, 其中一部分的所有数据都比另外一部分的所有数据都要小,* 然后再按此方法对这两部分数据分别进行快速排序, 整个排序过程可以递归进行,以此达到整个数据变成有序序列。* @author liangge**/public class Main {public static void main(String args) {int sort = { 54, 31, 89, 33, 66, 12, 68, 20 };System.out.print("排序前的数组为:");for (int data : sort) {System.out.print(data + " ");}System.out.println();quickSort(sort, 0, sort.length - 1);System.out.print("排序后的数组为:");for (int data : sort) {System.out.print(data + " ");}}/*** 快速排序* @param sort 要排序的数组* @param start 排序的开始座标* @param end 排序的结束座标*/public static void quickSort(int sort, int start, int end) {// 设置关键数据key为要排序数组的第一个元素,// 即第一趟排序后,key右边的数全部比key大,key左边的数全部比key小int key = sort;// 设置数组左边的索引,往右移动判断比key大的数int i = start;// 设置数组右边的索引,往左移动判断比key小的数int j = end;// 如果左边索引比右边索引小,则还有数据没有排序while (i 《 j) {while (sort 》 key && j 》 start) {j--;}while (sort 《 key && i 《 end) {i++;}if (i 《 j) {int temp = sort;sort;sort = temp;}}// 如果左边索引比右边索引要大,说明第一次排序完成,将sort与key对换,// 即保持了key左边的数比key小,key右边的数比key大if (i 》 j) {int temp = sort;sort;sort = temp;}//递归调用if (j 》 start && j 《 end) {quickSort(sort, start, j - 1);quickSort(sort, j + 1, end);}}} view plain copy/*** 快速排序** @param a* @param low* @param high* voidTest*/public static void kuaisuSort(int a, int low, int high){if (low 》= high){return;}if ((high - low) == 1){if (a){swap(a, low, high);return;}}int key = a;int left = low + 1;int right = high;while (left 《 right){while (left 《 right && left 《= high)// 左边向右{if (a 》= key){break;}left++;}while (right 》= left && right 》 low){if (a 《= key){break;}right--;}if (left 《 right){swap(a, left, right);}}swap(a, low, right);kuaisuSort(a, low, right);kuaisuSort(a, right + 1, high);} 四、插入排序 view plain copypackage sort.insert;/*** 直接插入排序* 将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据* 算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。*/import java.util.Random;public class DirectMain {public static void main(String args) {Random ran = new Random();int;for (int i = 0; i 《 10; i++) {sort = ran.nextInt(50);}System.out.print("排序前的数组为");for (int i : sort) {System.out.print(i + " ");}directInsertSort(sort);System.out.println();System.out.print("排序后的数组为");for (int i : sort) {System.out.print(i + " ");}}/*** 直接插入排序** @param sort*/private static void directInsertSort(int sort) {for (int i = 1; i 《 sort.length; i++) {int index = i - 1;int temp = sort;while (index 》= 0 && sort 》 temp) {sort;index--;}sort = temp;}}} 顺便添加一份,差不多的 view plain copypublic static void charuSort(int a){int len = a.length;for (int i = 1; i 《 len; i++){int j;int temp = a;for (j = i; j 》 0; j--)//遍历i之前的数字{//如果之前的数字大于后面的数字,则把大的值赋到后面if (a 》 temp){a;} else{break;}}a = temp;}} 把上面整合起来的一份写法: view plain copy/*** 插入排序:**/public class InsertSort {public void sort(int data) {for (int i = 1; i 《 data.length; i++) {for (int j = i; (j 》 0) && (data); j--) {swap(data, j, j - 1);}}}private void swap(int data, int i, int j) {int temp = data;data;data = temp;}} 五、顺便贴个二分搜索法 view plain copypackage search.binary;public class Main {public static void main(String args) {int sort = {1,2,3,4,5,6,7,8,9,10};int mask = binarySearch(sort,6);System.out.println(mask);}/*** 二分搜索法,返回座标,不存在返回-1* @param sort* @return*/private static int binarySearch(int sort,int data){if(data《sort){return -1;}int begin = 0;int end = sort.length;int mid = (begin+end)/2;while(begin 《= end){mid = (begin+end)/2;if(data 》 sort){begin = mid + 1;}else if(data 《 sort){end = mid - 1;}else{return mid;}}return -1;}}

如何解决java中混合快速排序法栈溢出(stack overflow)

1. 应该是您的递归算法调用的层级太多导致的。优化下算法,让调用层级减低才行。2. 这种情况自己维护个栈序列,用循环的方式来处理应该就可以了。例如可以是:1. (start,end)入栈2. 栈是否为空,若为空则退出3. 弹出栈定元素,如果start-end《breakpoint使用插入排序,完成后回到2。 否则对序列进行划分,将小于和大于choosePivot(a,start,end);的区间入栈 (minstart,minend), (maxstart, maxend)4. 重复2,3,直到栈为空

关于java快速排序法到此分享完毕,希望能帮助到您。

java快速排序法(用java快速排序法,求十个数中的最大值)

本文编辑:admin

更多文章:


抖音正版下载(抖音怎么下载5.6版本)

抖音正版下载(抖音怎么下载5.6版本)

大家好,如果您还对抖音正版下载不太了解,没有关系,今天就由本站为大家分享抖音正版下载的知识,包括抖音怎么下载5.6版本的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录抖音怎么下载5.6版本抖音下载最新版本抖音电脑版

2024年3月29日 11:10

免费的思维导图软件(思维导图软件哪个好)

免费的思维导图软件(思维导图软件哪个好)

各位老铁们好,相信很多人对免费的思维导图软件都不是特别的了解,因此呢,今天就来为大家分享下关于免费的思维导图软件以及思维导图软件哪个好的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录思维导图软件哪个好哪款思维导图

2024年7月4日 17:25

手机助手苹果版下载安装(苹果16.2怎么下载苹果助手软件)

手机助手苹果版下载安装(苹果16.2怎么下载苹果助手软件)

大家好,关于手机助手苹果版下载安装很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于苹果16.2怎么下载苹果助手软件的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助

2024年8月21日 11:35

清理手机病毒的软件(苹果手机自带的杀木马病毒软件在哪)

清理手机病毒的软件(苹果手机自带的杀木马病毒软件在哪)

今天给各位分享苹果手机自带的杀木马病毒软件在哪的知识,其中也会对苹果手机自带的杀木马病毒软件在哪进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录苹果手机自带的杀木马病毒软件在哪手机病毒如何彻底清除手机中病毒了怎

2024年4月15日 04:45

微信客户端登录(怎样登录微信)

微信客户端登录(怎样登录微信)

本篇文章给大家谈谈微信客户端登录,以及怎样登录微信对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录怎样登录微信微信在电脑上怎么登录微信怎么登

2024年9月5日 06:25

跑跑猴岛游戏论坛(猴岛论坛好吗)

跑跑猴岛游戏论坛(猴岛论坛好吗)

本文目录猴岛论坛好吗跑跑的职业大手们能说说你们是怎么练车的么猴岛论坛好吗猴岛游戏论坛最近好像换了很多东西,听说走资讯站的路线,猴岛走到今天真的可以说是论坛界的传奇,里面的好管理,有几个。 管理员:迷失弦月 总版主:目前没有什么好人,就算有

2024年6月4日 23:27

2022cctv5直播nba(2022年cctv5直播nba赛程表)

2022cctv5直播nba(2022年cctv5直播nba赛程表)

大家好,今天小编来为大家解答以下的问题,关于2022cctv5直播nba,2022年cctv5直播nba赛程表这个很多人还不知道,现在让我们一起来看看吧!本文目录2022年cctv5直播nba赛程表cctv5直播nba赛程表cctv5体育节

2024年6月9日 05:18

东哥辅助怎么用(洛克王国东哥辅助怎么用)

东哥辅助怎么用(洛克王国东哥辅助怎么用)

今天给各位分享洛克王国东哥辅助怎么用的知识,其中也会对洛克王国东哥辅助怎么用进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录洛克王国东哥辅助怎么用东哥WPE是什么,封包是什么有什么用这个功能怎么用洛克王国东哥辅

2024年7月14日 04:04

悟空问答平台和百度有什么区别?你觉得头条问答与百度知道哪个最精准

悟空问答平台和百度有什么区别?你觉得头条问答与百度知道哪个最精准

本文目录悟空问答平台和百度有什么区别你觉得头条问答与百度知道哪个最精准悟空问答、百度问答、知乎问答相比,你觉得哪个比较好百度问答怎样做才最高效百度知道答题和悟空问答哪个好百度问答和百度知道有什么区别有问题找百度,那么百度的答案是哪来的百度问

2024年5月3日 07:01

brief什么意思中文?工作中brief什么意思

brief什么意思中文?工作中brief什么意思

大家好,如果您还对brief不太了解,没有关系,今天就由本站为大家分享brief的知识,包括brief什么意思中文的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录brief什么意思中文工作中brief什么意思工作中

2024年7月12日 07:12

撕衣服模拟器游戏下载破解版(撕衣服的游戏手机游戏)

撕衣服模拟器游戏下载破解版(撕衣服的游戏手机游戏)

本文目录撕衣服的游戏手机游戏单机撕帅哥衣服小游戏下载求安卓版成人手机游戏,我手机是的HTC G12,不要那些撕衣之类的,谢了三星手机如何下载撕衣服游戏打工生活模拟器内购版怎么下载撕衣服的游戏手机游戏救赎是由女神之泪和巨人腰带两件装备合成的。

2024年7月18日 08:24

diskgenius下载(diskgenius使用分区时让下载什么东西)

diskgenius下载(diskgenius使用分区时让下载什么东西)

大家好,如果您还对diskgenius下载不太了解,没有关系,今天就由本站为大家分享diskgenius下载的知识,包括diskgenius使用分区时让下载什么东西的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录d

2024年10月8日 13:35

索爱x10i刷机教程(新买的X10i怎么刷成2.3.3或2.3.4买来是2.1..求教程)

索爱x10i刷机教程(新买的X10i怎么刷成2.3.3或2.3.4买来是2.1..求教程)

本文目录新买的X10i怎么刷成2.3.3或2.3.4买来是2.1..求教程索爱x10i刷机教程手机安卓系统版本太低 怎么升级 索爱X10I,请详细说明如何刷索爱X10I怎么把索爱X10i的安卓2.3.3刷成4.0.1在卓大师查到可以升级索爱

2024年7月24日 12:13

维融点验钞机怎么升级?验钞机怎么升级

维融点验钞机怎么升级?验钞机怎么升级

本文目录维融点验钞机怎么升级验钞机怎么升级新大8012验钞机怎么升级康艺验钞机如何升级新版100元人民币以前的验钞机怎么升级得力验钞机怎么升级得力验钞机产品型号 :JBYD3908(c怎么升级)新版百元钞票出来了,得力的验钞机怎么升级识别新

2024年6月26日 12:33

义乌购网站是个什么样的网站?义乌购小商品的官方网站是什么里面的东西便宜吗

义乌购网站是个什么样的网站?义乌购小商品的官方网站是什么里面的东西便宜吗

本文目录义乌购网站是个什么样的网站义乌购小商品的官方网站是什么里面的东西便宜吗义乌购是什么义乌购是一个什么性质的网站呢义乌出了个义乌购,是干什么的义乌购,垃圾网站义乌购网站(yiwugou)是什么网站,可信度高吗义乌购是义乌小商品市场官方网

2024年6月8日 12:44

手机qq邮箱怎么登录(手机QQ邮箱登录步骤)

手机qq邮箱怎么登录(手机QQ邮箱登录步骤)

这篇文章给大家聊聊关于手机qq邮箱怎么登录,以及手机QQ邮箱登录步骤对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录手机QQ邮箱登录步骤QQ邮箱手机版怎么登录怎么登入手机qq邮箱 登入邮箱的方法手机上如何登录QQ邮箱手机QQ邮

2024年7月3日 21:11

crm系统登录入口(百世汇通crm系统从哪里登陆)

crm系统登录入口(百世汇通crm系统从哪里登陆)

大家好,如果您还对crm系统登录入口不太了解,没有关系,今天就由本站为大家分享crm系统登录入口的知识,包括百世汇通crm系统从哪里登陆的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录百世汇通crm系统从哪里登陆c

2024年7月30日 03:05

navigator appname(navigator.appName == ’Netscape’ 什么意思)

navigator appname(navigator.appName == ’Netscape’ 什么意思)

本文目录navigator.appName == ’Netscape’ 什么意思Chrome浏览器navigator.appName得到的是Netscape,为什么navigator.appName == ’Netscape’ 什么意思返回

2024年7月3日 16:32

中国象棋免费下载安装 安卓(怎样下载《中国象棋》免费版)

中国象棋免费下载安装 安卓(怎样下载《中国象棋》免费版)

本篇文章给大家谈谈中国象棋免费下载安装 安卓,以及怎样下载《中国象棋》免费版对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录怎样下载《中国象

2024年7月16日 22:57

十大免费加速器app(十大加速器排名)

十大免费加速器app(十大加速器排名)

本篇文章给大家谈谈十大免费加速器app,以及十大加速器排名对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录十大加速器排名求手机游戏加速器排行榜,有哪些比较推荐的有没有可以加快游戏速度的软件可以用微信登录的免费加速器有哪些玩游戏

2024年8月14日 09:25

近期文章

本站热文

iphone vpn设置(ios设置vpn快捷开关)
2024-07-22 15:01:12 浏览:2342
windows12正式版下载(操作系统Windows Server 2012 R2,在哪能下载到,公司用的)
2024-07-20 17:26:53 浏览:1736
client mfc application未响应(每次进cf就提示client MFC Application未响应该怎么办啊!急急急)
2024-07-20 11:15:58 浏览:1168
java安装教程(win10如何安装JAVA)
2024-07-19 19:55:49 浏览:1164
标签列表

热门搜索