本文目錄一覽:
java數組如何排序
如果是升序可以使用 Arrays.sort(數組名)(注意:要使用這個方法必須導入java.util.Arrays包)或者使用冒泡排序,如果是降序只能自己寫,推薦使用冒泡排序
java怎麼讓數組的數字從大到小排序?
將數字從大到小排序的方法:
例如簡一點的冒泡排序,將第一個數字和後面的數字逐個比較大小,如果小於,則互換位置,大於則不動。此時,第一個數為數組中的最大數。然後再將第二個數與後面的數逐個比較,以次類推。
示例代碼如下:
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; // 兩個數交換位置
}
}
}
for (int i = 0; i array.length; i++) {
System.out.print(array[i]+” “);
}
}
}
數組對於每一門編程語言來說都是重要的數據結構之一,當然不同語言對數組的實現及處理也不盡相同。
Java 語言中提供的數組是用來存儲固定大小的同類型元素。
你可以聲明一個數組變數,如 numbers[100] 來代替直接聲明 100 個獨立變數 number0,number1,….,number99
擴展資料
Java中利用數組進行數字排序一般有4種方法:
1、選擇排序是先將數組中的第一個數作為最大或最小數,然後通過循環比較交換最大數或最小數與一輪比較中第一個數位置進行排序。
2、冒泡排序也是先將數組中的第一個數作為最大或最小數,循環比較相鄰兩個數的大小,滿足條件就互換位置,將最大數或最小數沉底。
3、快速排序法主要是運用Arrays類中的Arrays.sort方法()實現。
4、插入排序是選擇一個數組中的數據,通過不斷的插入比較最後進行排序。
java 數組排序的方法
JAVA 中數組的幾種排序方法:
1、數組的冒泡排序
[java] view plaincopyprint?
public void bubbleSort(int a[]) {
int n = a.length;
for (int i = 0; i n – 1; i++) {
for (int j = 0; j n – 1; j++) {
if (a[j] a[j + 1]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
2、數組的選擇排序
[java] view plaincopyprint?
public void selectSort(int a[]) {
for (int n = a.length; n 1; n–) {
int i = max(a, n);
int temp = a[i];
a[i] = a[n – 1];
a[n – 1] = temp;
}
}
3、數組的插入排序
[java] view plaincopyprint?
public void insertSort(int a[]) {
int n = a.length;
for (int i = 1; i n; i++) { //將a[i]插入a[0:i-1]
int t = a[i];
int j;
for (j = i – 1; j = 0 t a[j]; j–) {
a[j + 1] = a[j];
}
a[j + 1] = t;
}
}
4、設置兩層循環
[java] view plaincopyprint?
for(int i=0;iarrayOfInts.length;i++)
{
for(int j=i+1;jarrayOfInts.length;j++)
{
if(arrayOfInts[i]arrayOfInts[j])
{
a=arrayOfInts[i];
arrayOfInts[i]=arrayOfInts[j];
arrayOfInts[j]=a;
}
}
}
5、還有一種方法就是用Arrays.sort()方法:
[java] view plaincopyprint?
//導入包
import java.util.Arrays;
public class Two3{
public static void main(String[]args)
{
int[]arrayOfInts={32,87,3,589,12,7076,2000,8,622,127};
Arrays.sort(arrayOfInts);
for(int i=0;iarrayOfInts.length-1;i++)
{
System.out.print(arrayOfInts[i]+” “);
}
}
JAVA通過數組按首字母排序怎麼做?
自己封裝的一個工具類,可以將漢字按照拼音的首字母排序,支持對Model和字典排序.只能對首字母排序,不支持第二個字母, 實現的原理就是創建一個A-Z的數組,數組中的元素是字典,字典中有兩個元素,一個是title,就是當前的首字母 A-Z中的一個,另一個是保存當前title對應的元素的數組,對傳入的數組進行遍歷獲得數組中的一個元素,如果是Model或者字典通過傳入的key的值獲得要排序的字元串,獲得字元串的拼音的首字母,判斷拼音的首字母是A-Z中的哪一個,然後放到數組中的對應的字典的數組中.
後來又做了一個對英文的首字母排序的程序,原理和上面的一樣,還省略了將漢字轉化為拼音的步驟。工具類的名稱是:NH_OrderByPinYinFirstLetter。
代碼:使用的時候直接調用下面的方法就行,是一個加號方法,第一個參數是保存要排序的元素的數組,第二個參數:如果數組中是Model或者字典,就寫排序的依據的key值,如果數組中不是Model或字典,就寫nil。
[objc] view plain copy
// 方法
+ (NSMutableArray *)baseOrderPinYinOnArr:(NSMutableArray *)arr ByKey:(NSString *)key 返回值的類
// 返回一個有24個元素的數組,數組裡的元素是字典
// 字典里有兩對鍵值對
// title : 當前的拼音首字母 A – Z
// datas : 當前的拼音首字母對應的model所組成的數組
java數組排序
//原理:每次都找到當次最大的數,按大小順序依次放入數組相應位置
//比如:第一次先找到最大的數並記下其位置,如果其不在數組第一位,
//則將其與第一位交換,使最大數置於第一位
//第二次再循環查找第二大的數並記下其位置,如果其不在數組第二位,
//則將其與第二位交換,使最大數置於第二位
//依次類推…………………………………..
//第i次再循環查找第i大的數並記下其位置,如果其不在數組第 i位,
//則將其與第 i位交換,使最大數置於第 i位
public class SelectSort {
public static void main(String[] args) {
int[] a = {25,15,42,16,12,36};
int max = 0;
int tmp = 0;
for(int i=0;ia.length;i++){
max = i;//
/**查找第 i大的數,直到記下第 i大數的位置***/
for(int j=i+1;ja.length;j++){
if(a[max]a[j])
max = j;//記下較大數位置,再次比較,直到最大
}
/***如果第 i大數的位置不在 i,則交換****/
if(i!=max){
tmp = a[i];
a[i] = a[max];
a[max] = tmp;
}
}
for(int i=0;ia.length;i++)
System.out.print(a[i]+” “);
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/290998.html