將數(shù)字從大到小排序的方法:
創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、騰沖網(wǎng)站定制設計、自適應品牌網(wǎng)站建設、成都h5網(wǎng)站建設、商城網(wǎng)站制作、集團公司官網(wǎng)建設、成都外貿(mào)網(wǎng)站建設、高端網(wǎng)站制作、響應式網(wǎng)頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為騰沖等各大城市提供網(wǎng)站開發(fā)制作服務。
例如簡一點的冒泡排序,將第一個數(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ù)結構之一,當然不同語言對數(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ù),通過不斷的插入比較最后進行排序。
選擇排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)個記錄中選取關鍵字最大的記錄作為有序序列中第i個記錄。基于此思想的算法主要有簡單選擇排序、樹型選擇排序和堆排序。
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不動?。?2 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 完成
參考資料:百度百科-選擇排序法
import java.util.Arrays;
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是一門面向對象編程語言,不僅吸收了C++語言的各種優(yōu)點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。Java語言作為靜態(tài)面向對象編程語言的代表,極好地實現(xiàn)了面向對象理論