文件的读取,动态内存的使用

来源:互联网 发布:linux cmd命令 编辑:程序博客网 时间:2024/04/27 15:31
// Dynamic.cpp : 定义控制台应用程序的入口点。
//visual  studio 2013


#include "stdafx.h"
#include"iostream"
#include"fstream"
#include"sstream"
#include"vector"
#include"map"
using namespace std;


typedef multimap<int, int> Mmap;
int _tmain(int argc, _TCHAR* argv[])
{
ifstream in("abc.txt");

vector<string> abc;

Mmap nums;

//n代表段落数目

int n = 0;
//getline先清点其单词数过滤单词数为0的段落
for (string s; getline(in, s);)
{

istringstream sin(s);

//num代表每一段

int num = 0;
for (string t; sin >> t; num++);
if (num)
{
nums.insert(Mmap::value_type(num, n++));
abc.push_back(s);
}

}
for (Mmap::iterator it = nums.begin(); it != nums.end(); it++)
{
cout << abc[it->second] << endl;
}
system("pause");
return 0;

}

multimap 与 map 一样,都是使用红黑树对记录型的元素数据,按元素键值的比较关系,进行快速的插入、删除和检索操作,所不同的是 multimap 允许将具有重复键值的元素插入容器。在 multimap 容器中,元素的键值与元素的映照数据的映照关系,是多对多的,因此,multimap 称为多重映照容器。multimap 与 map 之间的多重特性差异,类似于 multiset 与 set 的多重特性差异。这一段是引用此作者的点击打开链接

1 0
原创粉丝点击