HDU_2019 数列有序!

来源:互联网 发布:js如何获取cookie参数 编辑:程序博客网 时间:2024/06/15 03:05

在一个有序数列中插入m,并且新数列也是有序的,

主要注意两点:

首先,在给m找插入位置的时候要以“m < a[i]”为条件,如果以“m > a[i]”会比较麻烦,

其次,在将m后面的数后移是,要从大数向小数移,否则会使后面的数全部相等。

以下是代码:

#include <stdio.h>#include <iostream>using namespace std;int main(){int n, m, a[100];while (cin >> n >> m){if (!(n == 0 && m == 0)){for (int i = 1; i <= n; i ++)cin >> a[i];int flag = 0;for (int j = 1; j <= n; j ++){if (m < a[j]){flag = j;break;}}if (flag == 0){a[n + 1] = m;}else{for (int y = n+1 ; y > flag; y --){a[y] = a[y - 1];}a[flag] = m;}for (int x = 1; x <= n+1; x++){if (x == 1)printf ("%d", a[x]);else {printf (" ");printf ("%d", a[x]);}}printf ("\n");}else continue;}system ("pause");return 0;}


原创粉丝点击