Tri à bulles (algorithme de tri)

1. Le tri à bulles peut trier soigneusement les séquences désordonnées;

Par exemple, étant donné un tableau {5, 2, 1, 4, 3, 6, 7, 8, 9, 10} après tri à bulles, il peut devenir

{1,2,3,4,5,6,7,8,9,10};

2. Principe de l'algorithme

Comparez les éléments adjacents, si le premier est plus grand que le second, échangez les deux éléments, puis comparez le plus grand élément avec ce dernier élément, de même, s'il est plus grand que ce dernier, échangez les deux jusqu'à ce que le plus grand élément soit placé dans le dernière position, un tri à bulles est terminé. Si dix données sont comparées et que le premier nombre doit être comparé aux neuf autres, cela prend neuf fois. Si le deuxième nombre est comparé, il n'a pas besoin d'être comparé avec celui déjà à la fin Le nombre maximum de comparaisons est 10-1-1=8, et seulement huit comparaisons sont nécessaires. Un tour de tri à bulles mettra les plus grands nombres derrière, et 10 éléments nécessitent jusqu'à neuf voyages.

3. Affichage des codes

int main()
{
	int  arr[10] = {10,9,8,7,6,5,4,3,2,1};
	int sz = sizeof(arr) / sizeof(arr[0]);//数组长度
	int i;
	for (i = 0; i < sz - 1; i++)//趟数
	{
		int j = 0;
		for (j = 0; j < sz - 1 - i; j++)//比较次数
		{
			if (arr[j] > arr[j + 1])//前面大于后面,交换
			{
				int tmp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = tmp;
			}
		}
    }
	for (i = 0; i < sz; i++)//打印数组
	{
		printf("%d ", arr[i]);
	}
}

3. Exécutez l'affichage

 

Je suppose que tu aimes

Origine blog.csdn.net/yyqzjw/article/details/131909947
conseillé
Classement