插入排序 選擇排序

2021-07-12 07:54:58 字數 825 閱讀 9444



插入排序:

有乙個已經有序的資料序列,要求在這個已經排好的資料序列中插入乙個數,但要求插入後此資料序列仍然有序,這個時候就要用到一種新的排序方法--

插入排序法

,插入排序的基本操作就是將乙個資料插入到已經排好序的有序資料中,從而得到乙個新的、個數加一的有序資料,演算法適用於少量資料的排序,

時間複雜度

為o(n^2)。是穩定的排序方法。插入演算法把要排序的

陣列分成兩部分:第一部分包含了這個陣列的所有元素,但將最後乙個元素除外(讓陣列多乙個空間才有插入的位置),而第二部分就只包含這乙個元素(即待插入元素)。在第一部分排序完成後,再將這個最後元素插入到已排好序的第一部分中。

變化過程如下

**實現

#include#includeint main()

; int i,j,temp;

int len=sizeof(a)/sizeof(int);

//從第二個元素開始,往前面的已經排序的序列插入,插入n-1次

for (i=1; i=0 && temp < a[j]; j--)

a[j+1] = temp;

} for(i=0;i選擇排序:

選擇排序是一種簡單直觀的排序演算法。它的工作原理是每一次從待排序的資料元素中選出最小(或最大)的乙個元素,存放在序列的起始位置,直到全部待排序的資料元素排完。

**實現

#include#includeint main()

; int len=sizeof(arr)/sizeof(int);

for(i=0;i

排序 選擇排序 插入排序

選擇排序應該說是最簡單的排序演算法,它的核心思想是不斷地選擇剩餘元素中最小者。選擇排序的過程是 首先,找到陣列中最小的元素,然後將它與陣列中的第乙個元素交換位置 如果第乙個元素是最小的元素,則和自己交換 接著,從剩下的元素中找到最小的元素,將它與陣列中的第二個元素交換位置。如此往復,直到將整個陣列排...

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

氣泡排序,選擇排序,插入排序 小規模的檔案以及基本有序的檔案,插入排序的效能比快速排序的效能更為有效一些,實際上,插入排序通常也做快速排序實現的一部分。1 氣泡排序 packagedatastrut public classbubblesort public voidinsert longvalue...

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

編寫 include void println int array,int len 列印給定長度的陣列 printf n void swap int array,int i,int j 交換陣列中兩個位置的元素 void selectionsort int array,int len o n n 對...