擅长:python、mysql、java
<p>在计算机科学中,排序实际上是一项非常重要(而且经过深思熟虑)的任务,而且并不是只有一种方法。你的热情是巨大的,但一个简单的谷歌搜索会发现一些排序算法,你可以使用。我不知道你到底想用for循环做什么,但下面是我的方法:</p>
<p>如前所述,有几种不同的排序算法,它们适用于多种不同的情况。最容易理解(效率最低)的是冒泡排序。从本质上讲,您从头到尾遍历列表n^2次,如果当前值大于上一个值,则交换它们。用Python实现,如下所示:</p>
<pre><code>def bubbleSort(lst):
for i in range(len(lst) - 1):
for j in range(i, len(lst) - 1):
if lst[j] > lst[j + 1]:
# Swap if item is bigger than next item
lst[j], lst[j+1] = lst[j+1], lst[j]
</code></pre>
<p>同样,你也可以做一个选择排序,在列表中找到最小的项目,把它放在开头,然后找到下一个最小的,把它放在下一个位置,以此类推。。。你知道吗</p>
<p>…Python实现如下所示:</p>
<pre><code>def selectionSort(lst):
for i in range(len(lst)):
for j in range(i, len(lst)):
if lst[j] < lst[i]:
lst[j], lst[i] = lst[i], lst[j]
</code></pre>
<p>显然,这只是冰山一角。您还可以实现多个排序算法。插入排序、快速排序等,每种方法都能更好地处理不同的数据集。但是,如果您刚刚开始编写代码,请从气泡、选择和插入开始。一旦你学会了递归,做一个快速排序。你知道吗</p>
<p>如果您想看到每一个工作方式的可视化效果,我最喜欢的网站之一是<a href="https://visualgo.net/en/sorting" rel="nofollow noreferrer">VisuAlgo</a>。你知道吗</p>
<p>PS:不要把代码复制到这里。学习算法是如何工作的,并尝试自己实现它。我已经提供了这两个参考和网上有吨的资源。你知道吗</p>