zoukankan      html  css  js  c++  java
  • 《趣题学算法》 Get The Inversion 计算逆序数

    //
    //  Get The Inversion.cpp
    //  laboratory
    //
    //  Created by 徐子珊 on 15/12/22.
    //  Copyright © 2015年 xu_zishan. All rights reserved.
    //
    
    #include <fstream>
    #include <iostream>
    #include <vector>
    using namespace std;
    //#include "filepath.h"
    int getTheInversion(vector<int> A){
        int N = int(A.size());
        int count = 0;
        for (int j = N - 1; j > 0; j--)
            for (int i = 0; i < j; i++)
                if (A[i] > A[j])
                    count++;
        return count;
    }
    
    int main() {
        //string basePath = "C:\\Users\\Administrator\\source\\repos\\Project2\\Project2";
        ifstream inputdata("inputdata.txt");
        ofstream outputdata("outputdata.txt");
        int N = 0;
        inputdata >> N;
        while (N > 0) {
            vector<int> A(N);
            for (int i = 0; i < N; i++)
                inputdata >> A[i];
            int result = getTheInversion(A);
            cout << result << endl;
            outputdata << result << endl;
            inputdata >> N;
        }
        inputdata.close();
        outputdata.close();
        return 0;
    }
    

    1 2 3        这3个数从小到大依次排列,逆序数为0

    2 1           这2个数逆序排列,逆序数为1

    3 2 4 1 5  这5个数逆序排列组为【32】 【31】 【21】 【41】 ,逆序数为4

     

    本书使用了ifstream、ofstream文件处理方法。

    为了摆脱文件,可以使用控制台输入输出。

    Notes:知识点滴积累,转载注明出处。
  • 相关阅读:
    <JZOJ5912>VanUSee
    <JZOJ5910>duliu
    <JZOJ5913>林下风气
    pytest学习笔记(二)
    试用saucelabs进行浏览器兼容性测试
    pytest学习笔记(一)
    SSM框架搭建,以及mybatis学习
    游戏2048的python实现
    使用svn在github上下载文件夹
    jenkins集成python的单元测试
  • 原文地址:https://www.cnblogs.com/caedmom/p/15636153.html
Copyright © 2011-2022 走看看