以下是一個使用選擇法排序的C語言代碼示例:
#include <stdio.h>
void selectionSort(int arr[], int n) {
int i, j, minIndex, temp;
for (i = 0; i < n-1; i++) {
minIndex = i;
for (j = i+1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
// 交換當前元素與最小元素
temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
int main() {
int arr[] = {64, 34, 25, 12, 22, 11, 90};
int n = sizeof(arr) / sizeof(arr[0]);
selectionSort(arr, n);
printf("排序后的數組:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
此代碼首先定義了一個名為selectionSort
的函數,該函數接受一個整數數組和數組的長度作為輸入。在這個函數中,使用兩個嵌套的循環來遍歷數組并比較元素,找到最小的元素的索引,然后將該元素與當前元素交換。然后,在main
函數中,我們定義了一個整數數組arr
,并計算了數組的長度。我們將該數組和長度作為參數傳遞給selectionSort
函數,并在排序完成后打印出排序后的數組。
運行此代碼將輸出:
排序后的數組:
11 12 22 25 34 64 90