美文网首页
数列有序!

数列有序!

作者: 一座城_WanG | 来源:发表于2018-12-14 21:31 被阅读0次

Problem Description

有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的序列仍然有序。

Input

输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是已经有序的n个数的数列。n和m同时为0标示输入数据的结束,本行不做处理。

Output

对于每个测试实例,输出插入新的元素后的数列。

Sample Input

<pre style="font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; white-space: pre-wrap; word-wrap: break-word;">

3 3
1 2 4
0 0

</pre>

Sample Output

<pre style="font-size: 14px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; white-space: pre-wrap; word-wrap: break-word;">

1 2 3 4

</pre>

Author

lcy

Source

C语言程序设计练习(三)

Recommend

lcy

问题简述:输入一个n(n<=100),说明有n个整数,输入n个整数时,应该让其从小到大排序好,向其中插入一个整数X,要求插入后能够实现变化后的数列仍然有序。

问题分析:我们只需要定义一个动态数组元素个数为n+1,将x赋值给第n+1个元素,将新的数列进行冒泡排序,然后输出即可。

ACC++代码如下

#include<iostream>
using namespace std;
void bubble(int *a, const int n)
{
    for (int l = 0; l < n - 1; l++)
    {
        for (int i = 0; i < n - 1; i++)
        {
            if (a[i] > a[i + 1])
            {
                int t = a[i + 1];
                a[i + 1] = a[i];
                a[i] = t;
            }
        }
    }
}
void charu(int m, int *a, const int n)
{
    a[n] = m;
    bubble(a, n + 1);
    for (int i = 0; i <= n; i++)
    {
        cout << a[i];
        if (i != n)
        {
            cout << ' ';
        }
    }
    cout << endl;
}
int main()
{
    int n, m;
    while (cin >> n >> m)
    {
        int * p = new int[n+1];
        if (n == 0 && m == 0)
        {
            break;
        }
        else
            for (int i = 0; i < n; i++)
            {
                cin >> p[i];
            }
        charu(m, p, n);
    }   
    return 0;
}

相关文章

  • 归并排序

    归并排序的基本思路: merge函数将两个有序数列归并到一个有序数列中 根据分治法,利用递归,不断归并有序数列 递...

  • 数列有序!

    Problem Description 有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数...

  • Merge Two sorted list 合并有序数列

    Easy, Linked List 给定两个有序数列,合并成一个有序数列。 使用递归方法 比较两个数列的第一个节点...

  • 归并排序

    将两个的有序数列合并成一个有序数列,我们称之为"归并"。 归并排序(Merge Sort)就是利用归并思想对数列进...

  • 归并排序

    归并排序是利用归并的思想对数列进行排序。--将两个有序数列合并成一个有序数列,称之为“归并”,归并包括从上往下和从...

  • 递归和归并排序

    普通的归并(merge),j将两个有序的数列合并起来,形成一个更大的有序数列。在leetcode有这样 令...

  • 七大排序之归并排序

    效率分析:设数列长为N,将数列分开成小数列一共要logn步,每步都是一个合并有序数列的过程,...

  • 数据结构与算法(四,分治法和快排)

    分治法 思想:分治法的前提条件是数列已经是有序的,当在有序数列中查找一个数的位置时,首先取数列中间位置的值,与要查...

  • php常用的排序算法与二分法查找

    一 : 归并排序 将两个的有序数列合并成一个有序数列,我们称之为"归并"。归并排序(Merge Sort)就是利用...

  • 查找问题

    1.有序数列的查找 完全写对也不容易,注意循环条件,输入的数列是从小到大的有序序列 2.行列递增矩阵中的元素查找 ...

网友评论

      本文标题:数列有序!

      本文链接:https://www.haomeiwen.com/subject/xgenhqtx.html