数组排序(升序和降序排列)
- 选择法排序
选择排序(Selection Sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法 - 选择法排序实现步骤
选择法排序(降序): n n n个数排序,经过 n − 1 n-1 n−1轮比较。
– 第 1 1 1轮是第 1 1 1个数跟剩下的 ( n − 1 ) (n-1) (n−1)个数比较,让第 1 1 1个数成为本轮最大者,要比较 ( n − 1 ) (n-1) (n−1)次;
– 第 2 2 2轮是第 2 2 2个数跟剩下的 ( n − 2 ) (n-2) (n−2)个数比较,让第 2 2 2个数成为本轮最大者,要比较 ( n − 2 ) (n-2) (n−2)次;
– ……
– 第 ( n − 1 ) (n-1) (n−1)轮是第 ( n − 1 ) (n-1) (n−1)个数与剩下的 1 1 1个数比较,让第 ( n − 1 ) (n-1) (n−1)个数成为本轮最大者,要比较 1 1 1次。
冒泡法排序 - 冒泡法排序含义
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端。 - 冒泡法排序实现步骤
冒泡法排序(降序): n n n个数排序,经过 n − 1 n-1 n−1轮比较。
– 第 1 1 1轮是 n n n个数里相邻两个数比较,如果后者比前者大就交换,要比较 ( n − 1 ) (n-1) (n−1)次,本轮最小者“浮”到第 n n n个位置;
– 第 2 2 2轮是前 ( n − 1 ) (n-1) (n−1)个数里相邻两个数比较,如果后者比前者大就交换,要比较 ( n − 2 ) (n-2) (n−2)次,本轮最小者“浮”到第 ( n − 1 ) (n-1) (n−1)个位置;
– ……
– 第 ( n − 1 ) (n-1) (n−1)轮是前 2 2 2个数里相邻两个数比较,如果后者比前者大就交换,要比较 1 1 1次,本轮最小者“浮”到第 2 2 2个位置;
– 总比较次数: ( n − 1 ) + ( n − 2 ) + . . . + 2 + 1 = n ( n − 1 ) 2 (n-1)+(n-2)+…+2+1 = \displaystyle \frac{n(n-1)}{2} (n−1(n−2)+…+2+1=2n(n−1)