氣泡排序 插入排序和選擇排序的總結

2021-07-23 23:40:57 字數 1011 閱讀 5380

三種排序演算法可以總結為如下:

都將陣列分為已排序部分和未排序部分。

氣泡排序

static

void bubble()}}

}

插入排序

public

static

void

sort(int items)}}

private

static

intfindinsertionindex(int items, int valuetoinsert)

}throw

new invalidoperationexception();

}private

static

void

insert(int items, int indexinsertingfrom, int indexinsertingat)

items[indexinsertingat] = temp;

}

示例

【4,3,2,1】

【3,4,2,1】

【2,3,4,1】

【1,2,3,4】

選擇排序

for (int i = 0; i < num.length; i++)

}temp = num[i];

num[i]=num[index];

num[index] = temp;

}

思想

還是先來看看選擇排序的思想。選擇排序的思想非常直接,不是要排序麼?那好,我就從所有序列中先找到最小的,然後放到第乙個位置。之後再看剩餘元素中最小的,放到第二個位置……以此類推,就可以完成整個的排序工作了。可以很清楚的發現,選擇排序是固定位置,找元素。相比於插入排序的固定元素找位置,是兩種思維方式。不過條條大路通羅馬,兩者的目的是一樣的。

氣泡排序 選擇排序和插入排序

氣泡排序 思路 將相鄰的兩個數比較,將較小的數調到前頭 有n個數就要進行n 1趟比較,第一次比較中要進行n 1次兩兩比較,在第j趟比較中,要進行n j次兩兩比較。依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放...

氣泡排序和插入排序,選擇排序

插入排序原理 對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。插入排序核心 假設第乙個元素排好,之後的元素對排好的部分從後向前比較並逐一移動。選擇排序 按第乙個元素為基礎,遍歷所有元素,找出最小值,然後調換 公升序 include includevoid embed int a,in...

氣泡排序 選擇排序和插入排序

一 氣泡排序 依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。重複以上過程,直至最終完成排序。氣泡排序是穩定的。演算法時間複雜度是o n 2 二...