Vous pouvez utiliser le tri à bulles, comparer les deux adjacentes à chaque fois, puis mettre les données les plus volumineuses à la fin, de sorte qu'après le premier passage, le plus grand nombre soit à la fin, le le tri suivant n'a pas besoin d'être comparé au dernier nombre, et alors l'avant-dernier plus grand nombre sera à l'avant-dernier... Par conséquent, deux fonctions peuvent être utilisées, l'une est utilisée pour contrôler le nombre d'éléments dans chaque comparaison, un pour l'échange :
#!/usr/bin/python # -*- coding: UTF-8 -*- if __name__ == "__main__": N = 10 # input data print '请输入10个数字:\n' l = [] for i in range(N): l.append(int(raw_input('输入一个数字:\n'))) print for i in range(N): print l[i] print # 排列10个数字 for i in range(N - 1): min = i for j in range(i + 1,N): if l[min] > l[j]:min = j l[i],l[min] = l[min],l[i] print '排列之后:' for i in range(N): print l[i]
Le résultat de sortie de l'exemple ci-dessus est :
请输入10个数字: 输入一个数字:5 输入一个数字:3 输入一个数字:23 输入一个数字:67 输入一个数字:2 输入一个数字:56 输入一个数字:45 输入一个数字:98 输入一个数字:239 输入一个数字:9 5 3 23 67 2 56 45 98 239 9 排列之后: 2 3 5 9 23 45 56 67 98 239
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!