标签:swa array sizeof 假设 ++ 结束 index cti cpp
#include <stdio.h> //交换两个元素的值 void swap(int* a, int* b) { int temp; temp = *a; *a = *b; *b = temp; } void selectionSort(int arr[], int length) { int i, j, maxIndex; for(i = length; i > 0; i--) { //假设待排序的序列的最大元素为arr[0]; maxIndex = 0; for(j = 1; j < i; j++) { if(arr[j] > arr[maxIndex]) maxIndex = j; } //第二个for循环结束,找到待排序序列的最大元素的索引 //把最大元素交换到待排序列末尾。 swap(&arr[maxIndex], &arr[j - 1]); } } //此函数用于打印数组,和排序算法无关。 void showArray(int arr[], int length) { int i; for(i = 0; i < length; i++) { printf("%d ", arr[i]); } printf("\n"); } int main() { int arr[10] = {9,4,9,6,1,8,3,2,5,7}; int length = sizeof(arr)/sizeof(int); printf("排序前:\n"); showArray(arr, length); selectionSort(arr, length); printf("排序后:\n"); showArray(arr, length); return 0; }
标签:swa array sizeof 假设 ++ 结束 index cti cpp
原文地址:https://www.cnblogs.com/Lints/p/11736210.html