`
void First(int *a,int len) //进行length轮比较,每次比较都找到一个最小的数,然后放到数组的最后面,次后面。。。
{
for (int i = 0; i < len; ++i)
{
for (int j = 0; j < len-i-1; ++j)
{
if (a[j] < a[j+1])
{
int tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
}
}
}
}
void Second(int *a,int len) //每一轮比较a[i]都是头元素,每次比较都把最大,次大。。。的元素放在头元素位置
{
for (int i = 0; i < len; ++i)
{
for (int j = i+1; j < len; ++j)
{
if (a[i] < a[j])
{
int tmp = a[j];
a[j] = a[i];
a[i] = tmp;
}
}
}
}
void Thirld(int *a,int len) //从倒数第二个元素开始,每次与后面一个元素比较,把最大或最小的元素依次挪到开始,次开始。。
{
for (int i = 0; i < len; ++i)
{
for (int j = len-2; j >=i; --j)
{
if (a[j] > a[j+1])
{
int tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
}
}
}
}
void Fourthly(int *a,int len) //设置一个bool变量,只要仍然满足有元素使得a[i]<a[i+1]那么就使它为true,否则全部排好序后,为false
{
bool isFinish = true;
while (isFinish) {
isFinish = false;
for (int i = 0; i < len - 1; i++) {
if (a[i] > a[i + 1]) {
int tmp = a[i];
a[i] = a[i + 1];
a[i + 1] = tmp;
isFinish = true;
}
}
}
}