zoukankan      html  css  js  c++  java
  • 蘑菇街2017春招笔试

    现在有一个n个整数的序列,交换两个相邻的数的位置直到整个序列按照升序排列,
    那么将整个序列排好需要交换多少次?
    例如 1,2,3,5,4 只需要交换一次即可。

    第一行输入一个正整数n(n<100),表述数字序列元素个数,占一行;
    接下来一行输入从1到n的n个整数序列,中间用空格隔开

    输入:
    4
    4 3 2 1
    输出:
    6

     1 /*************************************************************************
     2     > File Name: SpecialExchange.c
     3     > Author: Juntaran
     4     > Mail: Jacinthmail@gmail.com
     5     > Created Time: 2016年04月24日 星期日 19时26分01秒
     6  ************************************************************************/
     7 
     8 #include <stdio.h>
     9 #define BufferSize 1000
    10 
    11 int SpecialExchange()
    12 {
    13     int a[BufferSize];
    14     int n;
    15     scanf("%d", &n);
    16 
    17     int i = 0;
    18     for( i=0; i<n; i++ )
    19     {
    20         scanf("%d", &a[i]);
    21     }
    22 
    23     int count = 0;
    24     int temp = 0;
    25 
    26     int j = 0;
    27     for( i=1; i<n; i++ )
    28     {
    29         if( a[i] < a[i-1] )
    30         {
    31             int  t =  a[i];
    32             for( j = i-1; j>=0 && a[j]>t; j-- )
    33             {
    34                 temp = a[j+1];
    35                 a[j+1] = a[j];
    36                 a[j] = temp;
    37                 count ++;
    38 
    39             }
    40         }
    41     }
    42 
    43     printf("%d
    ", count);
    44     return count;
    45 }
    46 
    47 int main()
    48 {
    49     SpecialExchange();
    50     return 0;
    51 }
  • 相关阅读:
    远程访问Linux的常见方式
    GIT的安装与使用
    01_c语言学习之gcc
    车轮——项目 --- 云笔记
    python 基于ubuntu16.04 建立虚拟环境
    利用msfvenom生成木马
    msfvenom参数简介
    kali linux修改更新源及更新
    记通过mysql数据库成功入侵到服务器内部的渗透实战
    UML 几种关系:泛化、关联
  • 原文地址:https://www.cnblogs.com/Juntaran/p/5428659.html
Copyright © 2011-2022 走看看