這篇文章將為大家詳細講解有關(guān)web開發(fā)中選擇排序什么意思,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)成立于2013年,我們提供高端成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站設(shè)計、網(wǎng)站定制、營銷型網(wǎng)站建設(shè)、微信小程序、微信公眾號開發(fā)、營銷推廣服務(wù),提供專業(yè)營銷思路、內(nèi)容策劃、視覺設(shè)計、程序開發(fā)來完成項目落地,為發(fā)電機維修企業(yè)提供源源不斷的流量和訂單咨詢。
0x01,前言閑敘
其實對于這樣的內(nèi)容,自己沒有一個很明確的講解流程,一般還是按照下面的內(nèi)容來說吧,先暫時看下大概的內(nèi)容。
0x02,什么是選擇排序?
選擇排序(Selection sort)是一種簡單的直觀的排序算法。它的工作原理是:第一次從待排序的數(shù)據(jù)元素中選出最小(或最大)的一個元素,存放在序列的起始位置,然后再從剩余的未排序元素中尋找最?。ù螅┰?,然后放到已排序的序列的末尾。以此類推,直到全部待排序的數(shù)據(jù)元素的個數(shù)為零。
0x03,選擇排序代碼的實現(xiàn)
public class SelectionSortTest {
public static void main(String[] args) {
int[] arr = {1, 3, 2, 4, 7, 8, 5, 9, 6, 10};
selectionSort(arr);
for (int num : arr
) {
System.out.print(num + "\t");
}
}
/**
* @param arr 待排序數(shù)組
*/
public static void selectionSort(int[] arr) {
int length = arr.length;
for (int i = 0; i < length - 1; i++) {
int minIndex = i;//每次從未排序數(shù)組中選擇一個,選擇了length-1個
for (int j = i + 1; j < length; j++) {//查找數(shù)組的最小下標
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
swap(arr, minIndex, i);//數(shù)據(jù)交換
}
}
//數(shù)據(jù)交換
private static void swap(int[] arr, int minIndex, int i) {
int temp = arr[minIndex];
arr[minIndex] = arr[i];
arr[i] = temp;
}
}
0x04,選擇排序?qū)崿F(xiàn)圖片版
0x05,選擇排序的時間復(fù)雜度?
時間復(fù)雜度為:O(n^2),還是蠻高的,冒泡排序的時間復(fù)雜度一樣
0x06,選擇排序是否穩(wěn)定?
選擇排序不是一種穩(wěn)定性排序,是因為在數(shù)據(jù)元素在交換的過程中有可能會發(fā)生前后順序的變化
關(guān)于“web開發(fā)中選擇排序什么意思”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。