真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java選擇排序代碼詳解 選擇排序java代碼實現(xiàn)

java三個數(shù)排序比較大小的完整代碼,并給出詳細解釋,初學(xué)者,謝謝

import java.util.Arrays;

岳普湖ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

import java.util.Collection;

public class Demo2 {

public static void main(String[] args) {

// 這是你的三個數(shù)

int[] arr = { 12, 32, 18 };

// 兩層嵌套循環(huán)

for (int i = 0; i arr.length; i++) {

for (int j = 0; j i; j++) {

// 如果后者小于前者,讓他們交換位置,一直循環(huán)

// 直到每個數(shù)字都從頭到尾跟數(shù)組里的每個數(shù)字比較一次

if (arr[i] arr[j]) {

// 這三步就是交換位置,相信聰明的你一定看得懂了

arr[i] = arr[i] + arr[j];

arr[j] = arr[i] - arr[j];

arr[i] = arr[i] - arr[j];

}

}

}

//最后打印出來

for (int i = 0; i arr.length; i++) {

System.out.println(arr[i]);

}

}

}

資料拓展:

Java是一門面向?qū)ο缶幊陶Z言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實現(xiàn)了面向?qū)ο罄碚?/p>

Java 十個數(shù)選擇排序 從大到小 跪求解答

import?java.util.Scanner;

/**

*?@author?young

*?@Description:

*/

public?class?Test?{

public?static?void?main(String[]?args)?{

Scanner?scanner?=?new?Scanner(System.in);

int[]?a?=?new?int[10];

int?count?=?0;

while?(count??10)?{

System.out.print("輸入第"?+?(count?+?1)?+?"個數(shù):");

a[count]?=?scanner.nextInt();

count++;

}

System.out.print("\n排序之前的數(shù)組:");

for(int?i?=?0;?i??a.length;?i++){

System.out.print(a[i]?+?"??");

}

//?選擇排序:

for?(int?i?=?0;?i??a.length;?i++)?{

int?min?=?a[i];

int?n?=?i;?

for?(int?j?=?i?+?1;?j??a.length;?j++)?{

if?(a[j]??min)?{?

min?=?a[j];

n?=?j;

}

}

a[n]?=?a[i];

a[i]?=?min;

}

System.out.print("\n選擇排序之后:");

for?(int?i?=?0;?i??a.length;?i++)?{

System.out.print(a[i]?+?"?");

}

}

}

Java幾種簡單的排序源代碼

給你介紹4種排序方法及源碼,供參考

1.冒泡排序

主要思路: 從前往后依次交換兩個相鄰的元素,大的交換到后面,這樣每次大的數(shù)據(jù)就到后面,每一次遍歷,最大的數(shù)據(jù)到達最后面,時間復(fù)雜度是O(n^2)。

public?static?void?bubbleSort(int[]?arr){

for(int?i?=0;?i??arr.length?-?1;?i++){

for(int?j=0;?j??arr.length-1;?j++){

if(arr[j]??arr[j+1]){

arr[j]?=?arr[j]^arr[j+1];

arr[j+1]?=?arr[j]^arr[j+1];

arr[j]?=?arr[j]^arr[j+1];

}

}

}

}

2.選擇排序

主要思路:每次遍歷序列,從中選取最小的元素放到最前面,n次選擇后,前面就都是最小元素的排列了,時間復(fù)雜度是O(n^2)。

public?static?void?selectSort(int[]?arr){

for(int?i?=?0;?i?arr.length?-1;?i++){

for(int?j?=?i+1;?j??arr.length;?j++){

if(arr[j]??arr[i]){

arr[j]?=?arr[j]^arr[i];

arr[i]?=?arr[j]^arr[i];

arr[j]?=?arr[j]^arr[i];

}

}

}

}

3.插入排序

主要思路:使用了兩層嵌套循環(huán),逐個處理待排序的記錄。每個記錄與前面已經(jīng)排好序的記錄序列進行比較,并將其插入到合適的位置,時間復(fù)雜度是O(n^2)。

public?static?void?insertionSort(int[]?arr){

int?j;

for(int?p?=?1;?p??arr.length;?p++){

int?temp?=?arr[p];???//保存要插入的數(shù)據(jù)

//將無序中的數(shù)和前面有序的數(shù)據(jù)相比,將比它大的數(shù),向后移動

for(j=p;?j0??temp?arr[j-1];?j--){

arr[j]?=?arr[j-1];

}

//正確的位置設(shè)置成保存的數(shù)據(jù)

arr[j]?=?temp;

}

}

4.希爾排序

主要思路:用步長分組,每個分組進行插入排序,再慢慢減小步長,當(dāng)步長為1的時候完成一次插入排序,? 希爾排序的時間復(fù)雜度是:O(nlogn)~O(n2),平均時間復(fù)雜度大致是O(n^1.5)

public?static?void?shellSort(int[]?arr){

int?j?;

for(int?gap?=?arr.length/2;?gap??0?;?gap/=2){

for(int?i?=?gap;?i??arr.length;?i++){

int?temp?=?arr[i];

for(j?=?i;?j=gap??temparr[j-gap];?j-=gap){

arr[j]?=?arr[j-gap];

}

arr[j]?=?temp;

}

}

}

java 編寫一個程序,輸入3個整數(shù),然后程序?qū)@三個整數(shù)按照從大到小進行排列

可以實現(xiàn)比較器Comparator來定制排序方案,同時使用Colletions.sort的方式進行排序,代碼如下:

public void sortDesc(ListLong s){

Collections.sort(s, new ComparatorLong() {

public int compare(Long o1, Long o2) {

Long result = o2 - o1;

return result.intValue();

}

});

s.forEach(item-{

System.out.print(item +" ");

});

}

同時常用的比較排序算法主要有:冒泡排序,選擇排序,插入排序,歸并排序,堆排序,快速排序等。

java的冒泡排序?qū)崿F(xiàn)如下:

public?static?void?bubbleSort(int?[]arr)?{????????for(int?i?=0;iarr.length-1;i++)?{????????????for(int?j=0;jarr.length-i-1;j++)?{//-1為了防止溢出????????????????if(arr[j]arr[j+1])?{????????????????????int?temp?=?arr[j];?????????????????????????????????????????arr[j]=arr[j+1];?????????????????????????????????????????arr[j+1]=temp;????????????}????????????}????????????}????}

還有非比較排序,時間復(fù)雜度可以達到O(n),主要有:計數(shù)排序,基數(shù)排序,桶排序等。

java怎么讓數(shù)組的數(shù)字從大到小排序?

將數(shù)字從大到小排序的方法:

例如簡一點的冒泡排序,將第一個數(shù)字和后面的數(shù)字逐個比較大小,如果小于,則互換位置,大于則不動。此時,第一個數(shù)為數(shù)組中的最大數(shù)。然后再將第二個數(shù)與后面的數(shù)逐個比較,以次類推。

示例代碼如下:?

public?class?Test?{?

public?static?void?main(String[]?args)?{?

int?[]?array?=?{12,3,1254,235,435,236,25,34,23};?

int?temp;?

for?(int?i?=?0;?i??array.length;?i++)?{?

for?(int?j?=?i+1;?j??array.length;?j++)?{?

if?(array[i]??array[j])?{?

temp?=?array[i];?

array[i]?=?array[j];?

array[j]?=?temp; //?兩個數(shù)交換位置?

}?

}?

}?

for?(int?i?=?0;?i??array.length;?i++)?{?

System.out.print(array[i]+"??");?

}?

}?

}

數(shù)組對于每一門編程語言來說都是重要的數(shù)據(jù)結(jié)構(gòu)之一,當(dāng)然不同語言對數(shù)組的實現(xiàn)及處理也不盡相同。

Java 語言中提供的數(shù)組是用來存儲固定大小的同類型元素。

你可以聲明一個數(shù)組變量,如 numbers[100] 來代替直接聲明 100 個獨立變量 number0,number1,....,number99

擴展資料

Java中利用數(shù)組進行數(shù)字排序一般有4種方法:

1、選擇排序是先將數(shù)組中的第一個數(shù)作為最大或最小數(shù),然后通過循環(huán)比較交換最大數(shù)或最小數(shù)與一輪比較中第一個數(shù)位置進行排序。

2、冒泡排序也是先將數(shù)組中的第一個數(shù)作為最大或最小數(shù),循環(huán)比較相鄰兩個數(shù)的大小,滿足條件就互換位置,將最大數(shù)或最小數(shù)沉底。

3、快速排序法主要是運用Arrays類中的Arrays.sort方法()實現(xiàn)。

4、插入排序是選擇一個數(shù)組中的數(shù)據(jù),通過不斷的插入比較最后進行排序。

利用選擇法,描述將10個數(shù)按從大到小順序排列的基本思路與算法流程

選擇排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)個記錄中選取關(guān)鍵字最大的記錄作為有序序列中第i個記錄?;诖怂枷氲乃惴ㄖ饕泻唵芜x擇排序、樹型選擇排序和堆排序。

java選擇排序法代碼

import java.util.Random;

public class ArrayDemo {?

public static void main(String[] args) {?

Random random=new Random();?

int[] pData=new int[10];?

for(int i=0;ipData.length;i++){ //隨機生成10個排序數(shù)

Integer a =random.nextInt(100);? ? ?

pData[i]= a;? ? ?

System.out.print(pData[i]+" ");?

}?

System.out.println();?

pData=Choose(pData);?

for(int i=0;ipData.length;i++){? ? ?

System.out.print(pData[i]+" ");?

}?

System.out.println();

}

public static int[] Choose(int[] pData){?

System.out.println();?

int k;?

for (int i = 0; i pData.length; i++) {? ? ?

k = i;? ? ?

for (int j = i; j pData.length; j++) {? ? ? ? ?

if(pData[j]pData[k]){k = j;}? ? ?

}? ? ?

int a=pData[i];? ? ?

pData[i]=pData[k];? ? ?

pData[k]=a;?

}?

return pData;

}

}

擴展資料:

其他排序方法:

簡單選擇排序的基本思想:第1趟,在待排序記錄r[1]~r[n]中選出最小的記錄,將它與r[1]交換;第2趟,在待排序記錄r[2]~r[n]中選出最小的記錄,將它與r[2]交換;

以此類推,第i趟在待排序記錄r[i]~r[n]中選出最小的記錄,將它與r[i]交換,使有序序列不斷增長直到全部排序完畢。

以下為簡單選擇排序的存儲狀態(tài),其中大括號內(nèi)為無序區(qū),大括號外為有序序列:

初始序列:{49 27 65 97 76 12 38}

第1趟:12與49交換:12{27 65 97 76 49 38}

第2趟:27不動 :12 27{65 97 76 49 38}

第3趟:65與38交換:12 27 38{97 76 49 65}

第4趟:97與49交換:12 27 38 49{76 97 65}

第5趟:76與65交換:12 27 38 49 65{97 76}

第6趟:97與76交換:12 27 38 49 65 76 97 完成

參考資料:百度百科-選擇排序法


網(wǎng)站標(biāo)題:java選擇排序代碼詳解 選擇排序java代碼實現(xiàn)
瀏覽路徑:http://weahome.cn/article/hipesp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部