插入排序
// nonincreasing
#include
using namespace std;
int main()
{
int N;
cin >> N;
int a[N];
for (int i = 0; i < N; i++)
cin >> a[i];
int key;
for (int j = 1; j < N; j++)
{
key = a[j]; //表示将要排序的元素
int i = j - 1;
while (i >= 0 && a[i] > key) //直到找到比要排序的数还要小的数
{
a[i + 1] = a[i];
i = i - 1;
}
a[i + 1] = key;
}
for (int i = 0; i < N; i++)
cout << a[i] << " ";
}
//nondecreasing
#include
using namespace std;
int main()
{
int N;
cin >> N;
int a[N];
for (int i = 0; i < N; i++)
cin >> a[i];
int key;
for (int j = 1; j < N; j++)
{
key = a[j]; //表示将要排序的元素
int i = j - 1;
while (i >= 0 && a[i] < key) //直到找到比要排序的数还要大的数
{
a[i + 1] = a[i];
i = i - 1;
}
a[i + 1] = key;
}
for (int i = 0; i < N; i++)
cout << a[i] << " ";
}