码迷,mamicode.com
首页 > 编程语言 > 详细

插入排序的应用

时间:2017-10-02 21:31:48      阅读:364      评论:0      收藏:0      [点我收藏+]

标签:blog   tput   过程   for   个数   扑克   font   style   sam   

一、题目:

插入排序类似于玩扑克时抓牌的过程,玩家每拿到一张牌都要插入到手中已有的牌里,使之从小到大排好序。

现在使用一个排好序的数组模拟插入排序,即输入一数时,要求按原来排序的规律将它插入数组中。

Input
有多组数据,第一行一个正整数t(t<100)表示输入数据组数,接下来有t组输入数据,每组数据占2行,
第一行包含一个整数n和x(n<10000<x<10000),x表示要插入的数。接下来一行包含用空格隔开n个数。 Output 对于每组输入,输出对应排好序的数列,输出到一行,两个数之间用空格隔开,行末不包含空格。 Sample Input 1 4 3 1 2 3 4 Sample Output 1 2 3 3 4

二、代码

#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
    int a[1005];
    int t;
    scanf("%d",&t);
    while(t--){
        int n,x;
        scanf("%d%d",&n,&x);
        for(int i=0;i<n;i++)
        {
            scanf("%d",&a[i]);
        }
        a[n]=x; //先将要插入的数放在数列的最后
        for(int i=1;i<n+1;i++)
        {
            int monitor=a[i];
            int j=i-1;
            while(a[j]>monitor && j>=0)
            {
                a[j+1]=a[j];
                j--;
            }
            a[j+1]=monitor;
        }


        for(int i=0;i<n+1;i++)
        {
            printf("%d",a[i]);
            if(i!=n)      //控制格式
                printf(" ");
            else
                printf("\n");
        }
    }
    return 0;
}

 

插入排序的应用

标签:blog   tput   过程   for   个数   扑克   font   style   sam   

原文地址:http://www.cnblogs.com/hhkobeww/p/7622398.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!