选择排序,简单易懂,用数组实现的是不稳定排序
#include <iostream>
#include <ctime>
#define max 10
using namespace std;
void print(int *arr)
{
for (int i = 0; i < max; ++i)
{
cout << arr[i] << " ";
}
cout << endl;
}
void Swap(int &a, int &b)
{
a = a + b;
b = a - b;
a = a - b;
}
void sort(int *arr)
{
for (int i = 0; i < max-1; ++i)
{
int k = i;
for (int j = i; j < max; ++j)
{
arr[j] < arr[k] ? k = j : 1;
}
if (k != i)
{
Swap(arr[k], arr[i]);
}
}
}
int main(int argc, char *argv[])
{
srand((unsigned)time(NULL));
int arr[max];
for (int i = 0; i < max; ++i)
{
arr[i] = rand() % 100;
}
print(arr);
sort(arr);
print(arr);
}
这个没什么好说的了吧