C语言版
#include <stdio.h>
void selectSort(int* arr, int n){
for(int i = 0; i < n; i++){
int k = i;
int temp;
for(int j = i; j < n; j++){
if(arr[k] > arr[j]);
k = j;
}
temp = arr[i];
arr[i] = arr[k];
arr[k] = temp;
}
}
void printArr(int* arr, int n){
for(int i = 0; i < n; i++){
printf("%d", arr[i]);
}
printf("\n");
}
int main(){
int test[5] = {5, 4, 3, 2, 1};
int* arr = test;
printArr(arr, 5);
selectSort(arr, 5);
printArr(arr, 5);
return 0;
}
C++版
#include <iostream>
#include <vector>
using namespace std;
void selectSort(vector<int> &arr){
for(int i = 0; i < arr.size(); i++){
int temp = 0;
int k = i;
for(int j = i; j < arr.size(); j++){
if(arr[k] > arr[j]){
k = j;
}
}
temp = arr[k];
arr[k] = arr[i];
arr[i] = temp;
}
}
void printVec(vector<int> arr){
for(vector<int>::iterator it = arr.begin(); it != arr.end(); it++){
std::cout << *it;
}
std::cout << " ";
}
int main(){
vector<int> v = {5, 4, 3, 2, 1};
printVec(v);
selectSort(v);
printVec(v);
return 0;
}