#include <iostream>
using namespace std;
void myswap2(int &a, int &b)
{
int temp = b;
b = a;
a = temp;
}
void myswap3(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
/*思想就是,每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。*/
void selectsort(int *a, int iLength)
{
for (int i = 0; i < iLength; i++) {
for (int j = i + 1; j<iLength; j++) {
if (a[i]>a[j])
{
//myswap3(&a[i],&a[j]);
myswap2(a[i], a[j]);
/*int temp = a[i];
a[i] = a[j];
a[j] = temp;*/
}
}
for (int k = 0; k < 8; k++)
{
cout << a[k] << endl;
}
cout << "-------------------" << endl;
}
}
void main()
{
int a[]= { 3, 5, 4, 7, 84, 12, 38, 9 };
int iLength = 8;
selectsort(a, iLength);
getchar();
}