演算法 排序演算法(二)

2021-10-03 07:56:19 字數 790 閱讀 2117

選擇排序,選擇所有元素中最小的乙個放在第一位,然後從剩下的元素中選擇最小的放第二位,依此類推,完成選擇排序。

#include

#define m 10001

using

namespace std;

int a[m]

;void

selectsort

(int n)

}int t=a[i]

; a[i]

=a[min]

; a[min]

=t;}

}int

main()

selectsort

(n);

for(

int i=

1;i<=n;i++

)return0;

}

氣泡排序,拿第乙個元素與第二個元素比較,如果第乙個比第二個大,則交換他們的位置。接著繼續比較第二個與第三個元素,如果第二個比第三個大,則交換他們的位置….

#include

#define m 10001

using

namespace std;

int a[m]

;void

bubblesort

(int n)}}

}int

main()

bubblesort

(n);

for(

int i=

1;i<=n;i++

)return0;

}

排序演算法 二

不穩定的排序演算法 簡單選擇排序 每一趟從待排序的資料元素中選出最小 或最大 的乙個元素,順序放在已排好序的數列最前,直到全部待排序的資料元素排完。void selectsort int data int size size if i k swap data i data k 快排 非隨機 快速排序...

排序演算法(二)

快速排序 快速排序 elementtype median3 elementtype a,int left,int right void qsort elementtype a,int left,int right swap a low a right 1 將基準換到正確的位置 qsort a,lef...

排序演算法(二)

基本思想 將乙個記錄插入到已經排序好的有序表中,從而得到乙個新 記錄數增1的有序表。即 先將序列的第乙個記錄看成是乙個有序的子串行,然後從第二個記錄逐個進行插入,直至整個序列有序為止。要點 設立哨兵,作為臨時儲存和判斷陣列邊界之用。直接插入排序示例 如果碰見乙個和插入元素相等的,那麼插入元素把想插入...