Maison > Java > JavaBase > Comment trier un tableau Java

Comment trier un tableau Java

Libérer: 2019-12-26 13:34:00
original
21436 Les gens l'ont consulté

Comment trier un tableau Java

Plusieurs méthodes de tri de tableaux en Java :

1. Utilisez Arrays.sort() pour trier les

Les tableaux. La méthode de tri sort() est la méthode de tri la plus simple et la plus couramment utilisée en Java.

int []arr1= {45,34,59,55};
Arrays.sort(arr1);//调用方法排序即可
Copier après la connexion

L'utilisation d'Arrays.sort() est principalement divisée en tableaux de tri de types de données de base et en tableaux de tri d'objets.

2. Tri à bulles

En termes simples, le tri à bulles consiste à visiter à plusieurs reprises la séquence à trier et à comparer deux éléments à la fois s'ils sont dans leur ordre. faites une erreur, échangez-les. Le travail de visite du tableau est répété jusqu'à ce qu'aucun échange ne soit plus nécessaire, ce qui signifie que le tableau a été trié.

//array[]为待排序数组,n为数组长度
void BubbleSort(int array[], int n)
{
    int i, j, k;
    for(i=0; i<n-1; i++)
        for(j=0; j<n-1-i; j++)
        {
            if(array[j]>array[j+1])
            {
                k=array[j];
                array[j]=array[j+1];
                array[j+1]=k;
            }
        }
}
Copier après la connexion

3. Tri par sélection

Trouvez d'abord l'index du plus petit élément, puis échangez l'élément avec le premier élément.

int arr3[]= {23,12,48,56,45};
    for(int i=0;i<arr3.length;i++) {
		int tem=i;
                //将数组中从i开始的最小的元素所在位置的索引赋值给tem
		for(int j=i;j<arr3.length;j++) {
			if(arr3[j]<arr3[tem]) {
				tem=j;
			}
		}
		//上面获取了数组中从i开始的最小值的位置索引为tem,利用该索引将第i位上的元素与其进行交换
		int temp1=arr3[i];
		arr3[i]=arr3[tem];
		arr3[tem]=temp1;
	}
Copier après la connexion

4. Tri inversé

Organisez le tableau d'origine dans l'ordre inverse

//将数组第i位上的元素与第arr.length-i-1位上的元素进行交换
int []arr4={23,12,48,56,45};
	for(int i=0;i<arr4.length/2;i++) {
		int tp=arr4[i];
		arr4[i]=arr4[arr4.length-i-1];
		arr4[arr4.length-i-1]=tp;
	}
Copier après la connexion

5. >

int []arr5={23,12,48,56,45};
	for (int i = 1; i < arr5.length; i++) {
		for (int j = i; j > 0; j--) {
			if (arr5[j - 1] > arr5[j]) {//大的放后面
				int tmp = arr5[j - 1];
				arr5[j - 1] = arr5[j];
				arr5[j] = tmp;
			}
		}
	}
Copier après la connexion
Pour plus de connaissances sur Java, veuillez faire attention à la colonne Tutoriel de base Java

.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal