二維向量

二維向量 ios

    在二維向量中,可使用vector的swap操做來交換兩個向量,vector的swap是專門爲提升兩個向量之間的互換性能而設計的,例如:在aaa.txt中含有一些行,每行中有一些整數,可構成一個向量,整個文件能夠當作是一組向量,每一個元素又都是一個向量,只不過做爲元素的向量其長度良莠不齊,設計一個程序,按從短到長的順序輸出每一個向量。 性能

#include <iostream> spa

#include <fstream> 設計

#include <sstream> get

#include <vector> input

using namespace std; string


typedef vector<vector<int>> mat; io

mat input(); stream

void mySort(mat& a); 程序

void print(const mat& a);

int main()

{

    mat a=input();

    mySort(a);

    print(a);

}

mat input()

{

    ifstream in("aaa.txt");

    mat a;

    for(string s;getline(in,s);)

    {

        vector<int> b;

        istringstream sin(s);

        for(int ia;sin>>ia;)

            b.push_back(ia);

            a.push_back(b);

    }

    return a;

}

void mySort(mat &a)

{

    for(int pass=1;pass<=a.size();pass++)

        for(int i=0;i<a.size()-pass;i++)

            if(a[i+1].size()<a[i].size)a[i].swap(a[i+1]);

}

void print(const mat &a)

{

    for(int i=0;i<a.size();i++)

        for(int j=0;j<a[i].size;j++)

            cout<<a[i][j]<<"  ";

        cout<<endl;

}

相關文章
相關標籤/搜索