java冒泡排序和快速排序代碼
冒泡排序:
基本思想:在要排序的一組數(shù)中,對(duì)當(dāng)前還未排好序的范圍內(nèi)的全部數(shù),自上而下對(duì)相鄰的兩個(gè)數(shù)依次進(jìn)行比較和調(diào)整,讓較大的數(shù)往下沉,較小的往上冒。即:每當(dāng)兩相鄰的數(shù)比較后發(fā)現(xiàn)它們的排序與排序要求相反時(shí),就將它們互換。
public class BubbleSorted{
public BubbleSorted(){
int a[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51};
int temp=0;
for(int i=0;i<a.length-1;i++){
for(int j=0;j<a.length-1-i;j++){
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(int i=0;i<a.length;i++)
System.out.println(a[i]);
} }
快速排序:
算法:當(dāng)數(shù)據(jù)量很大適宜采用該方法。采用二分法查找時(shí),數(shù)據(jù)需是有序不重復(fù)的。 基本思想:假設(shè)數(shù)據(jù)是按升序排序的,對(duì)于給定值 x,從序列的中間位置開始比較,如果當(dāng)前位置值等于 x,則查找成功;若 x 小于當(dāng)前位置值,則在數(shù)列的前半段中查找;若 x 大于當(dāng)前位置值則在數(shù)列的后半段中繼續(xù)查找,直到找到為止。
假設(shè)有一個(gè)數(shù)組 { 12, 23, 34, 45, 56, 67, 77, 89, 90 },現(xiàn)要求采用二分法找出指定的數(shù)值并將其在數(shù)組的索引返回,如果沒有找到則返回 -1。代碼如下:
package com.test;
public class FindSorted{
public static void main(String[] args) {
int[] arr = new int[] { 12, 23, 34, 45, 56, 67, 77, 89, 90 };
System.out.println(search(arr, 12));
System.out.println(search(arr, 45));
System.out.println(search(arr, 67));
System.out.println(search(arr, 89));
System.out.println(search(arr, 99));
}
public static int search(int[] arr, int key) {
int start = 0;
int end = arr.length - 1;
while (start <= end) {
int middle = (start + end) / 2;
if (key < arr[middle]) {
end = middle - 1;
} else if (key > arr[middle]) {
start = middle + 1;
} else {
return middle;
}
}
return -1;
}
}
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
- java List 排序之冒泡排序?qū)嵗a
- Java 冒泡排序、快速排序?qū)嵗a
- java數(shù)據(jù)結(jié)構(gòu)與算法之冒泡排序詳解
- Java數(shù)據(jù)結(jié)構(gòu)和算法之冒泡排序(動(dòng)力節(jié)點(diǎn)Java學(xué)院整理)
- java冒泡排序簡(jiǎn)單實(shí)例
- java實(shí)現(xiàn)的冒泡排序算法示例
- Java實(shí)現(xiàn)冒泡排序算法
- java 數(shù)據(jù)結(jié)構(gòu) 冒泡排序?qū)崿F(xiàn)代碼
- Java實(shí)現(xiàn)的各種排序算法(插入排序、選擇排序算法、冒泡排序算法)
- JAVA冒泡排序和二分查找的實(shí)現(xiàn)
- Java實(shí)現(xiàn)冒泡排序算法及對(duì)其的簡(jiǎn)單優(yōu)化示例
- Java經(jīng)典算法匯總之冒泡排序
- Java實(shí)現(xiàn)冒泡排序與雙向冒泡排序算法的代碼示例
- 詳解Java冒泡排序
相關(guān)文章
SpringBoot集成Tomcat服務(wù)架構(gòu)配置
這篇文章主要為大家介紹了SpringBoot集成Tomcat服務(wù)架構(gòu)配置,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
idea運(yùn)行tomcat報(bào)錯(cuò)找不到catalina.bat,系統(tǒng)找不到指定的文件問題
這篇文章主要介紹了idea運(yùn)行tomcat報(bào)錯(cuò)找不到catalina.bat,系統(tǒng)找不到指定的文件問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,2023-11-11
java動(dòng)態(tài)代理實(shí)現(xiàn)代碼
這篇文章主要介紹了java 動(dòng)態(tài)代理的的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下,希望能給你帶來(lái)幫助2021-07-07
java之a(chǎn)ssert關(guān)鍵字用法案例詳解
這篇文章主要介紹了java之a(chǎn)ssert關(guān)鍵字用法案例詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08
為什么Spring和IDEA都不推薦使用 @Autowired 注解
本文主要介紹了為什么Spring和IDEA都不推薦使用 @Autowired 注解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04
java之swing實(shí)現(xiàn)復(fù)選框的方法
這篇文章主要介紹了java之swing實(shí)現(xiàn)復(fù)選框的方法,實(shí)例分析了java基于圖形界面復(fù)選框的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09
JAVA演示阿里云圖像識(shí)別API,印刷文字識(shí)別-營(yíng)業(yè)執(zhí)照識(shí)別
最近有由于工作需要,開始接觸阿里云的云市場(chǎng)的印刷文字識(shí)別API-營(yíng)業(yè)執(zhí)照識(shí)別這里我加上了官網(wǎng)的申請(qǐng)說(shuō)明,只要你有阿里云賬號(hào)就可以用,前500次是免費(fèi)的,API說(shuō)明很簡(jiǎn)陋,只能做個(gè)簡(jiǎn)單參考2019-05-05

