数据结构-排序(六)简单选择排序

时间:2025-03-14 14:44:52
#include <iostream> #include <string> using namespace std; /** * 简单选择排序 * @param arr * @param n */ void SelectSort(int arr[], int n) { for (int i = 0; i < n - 1; i++) { //n - 1趟 int min = i; //记录最小元素位置 for (int j = i + 1; j < n; j++) { //再arr[i...n-1]中选择最小元素 if (arr[j] < arr[min]) { //更新最小位置 min = j; }//if }//for if (min != i) { //交换最小值 swap(arr[i], arr[min]); //交换顺序 } }//for } /** * 输出数组 * @param arr * @param n */ void PrintArray(int arr[], int n) { for (int i = 0; i < n; i++) { cout << arr[i] << " "; } printf("\n"); } int main() { int arr[] = {12, 28, 20, 50, 48, 1, 5, 28}; int n = sizeof(arr) / sizeof(arr[0]); cout << "输出arr初始数组" << endl; PrintArray(arr, n); cout << "arr简单选择排序" << endl; SelectSort(arr, n);c cout << "输出arr排序后数组" << endl; PrintArray(arr, n); return 0; }