题简单,每次遍历找最大的如果不在该在的位置就翻到最前面,再翻到该翻的位置。
注意:翻是一串都会翻 而不只是翻首尾
#include <stdio.h>
#include <iostream>
#include <vector>
using namespace std;
int a[1005];
void swp(int l, int r)
{
while (l < r)
{
int temp = a[l];
a[l] = a[r];
a[r] = temp;
l++;
r--;
}
}
int main()
{
int n;
while (cin >> n)
{
for (int i = 0; i < n; i++)
cin >> a[i];
int ans = 0;
int _n = n;
for(int i = 1;i < _n; i++)
{
int mark = 0;
for (int i = 1; i < n; i++)
{
if (a[i] > a[mark])
mark = i;
}
if (mark == 0)
{