浏览器
来源:互联网 发布:网络端游什么游戏好玩 编辑:程序博客网 时间:2024/05/01 03:47
浏览器
Description
Firefox浏览器具有网址记忆功能,能够记住用户在地址栏中输入并访问过的网址;用户下次只需输入网址的一部分字符,浏览器就会在地址栏下方弹出建议框,提供访问历史记录中包含了用户输入字符的网址列表,使用户能方便、快捷地访问网页。你所在的公司正在研发一款新型的浏览器,项目经理指派你实现类似firefox的网址记忆功能。
Input
第一行包含一个整数N(1<=N<=100),代表历史记录中的网址数目。在后面的N行信息中,每一行都包括了一个网址字符串和一个整数,整数代表该行网址的被访问次数。字符串和整数之间有一个空格。第N+2行为一个整数M,代表用户在地址栏输入字符串的次数。在后面的M行信息中,每行都是一个字符串(可以是单个字符),代表用户某次在地址栏中输入的内容。
Output
针对输入中后M行的输入字符串,输出相应的地址栏列表。比如对某个输入字符串u,输出历史记录中包含了u的网址,并按网址被访问次数降序排列;如果有些网址的被访问数量相等,则按照网址的字符次序升序排列。如果包含u的网址数目超过10个,则需输出前10个;如果没有包含u的网址,则输入一个空行。每个输出的网址占一行,在每个输入字符串所对应的网址列表之间,需有一个空行。
Sample Input
5
www.sina.com.cn 25
www.sohu.com 20
www.stnn.cc 1
www.ifeng.com 7
www.qq.com 3
3
n
s
o
Output for Sample input
www.sina.com.cn
www.ifeng.com
www.stnn.cc
www.sina.com.cn
www.sohu.com
www.stnn.cc
www.sina.com.cn
www.sohu.com
www.ifeng.com
www.qq.com
程序代码为:
#include <iostream>
#include <vector>
#include <string>
#include <fstream>
#include <algorithm>
#include <functional>
using namespace std;
class WEBSTR
{
public:
//WEBSTR(){sit=0;num=0;}
WEBSTR(string a,int b):sit(a),num(b){};
string sit;
int num;
};
bool comp(WEBSTR &A,WEBSTR &B)
{
if(A.num>B.num)
{
return true;
}
else if(A.num<B.num)
{
return false;
}
else
{
if(A.sit<B.sit)
return true;
else
{
return false;
}
}
}
void findweblist(const vector<WEBSTR>&rv,string tpstr,vector<WEBSTR>&tv )
{
for(int i=0;i<rv.size();i++)
{
if(rv[i].sit.find(tpstr)!=string::npos)
tv.push_back(rv[i]);
}
}
int main()
{
ifstream filein("a.in");
vector<WEBSTR>v;
string sit;
int num2=0;
int N=0,num=0;
string tempstr;
filein>>N;
for(int i=0;i<N;i++)
{
filein>>sit>>num2;
WEBSTR mysit(sit,num2);
v.push_back(mysit);
}
//find
filein>>num;
vector<WEBSTR>v2;
//vector<WEBSTR>v3;
for(int j=0;j<num;j++)
{
filein>>tempstr;
findweblist(v,tempstr,v2);
sort(v2.begin(),v2.end(),comp);
for(int k=0;k<v2.size();k++)
{
if(k<10)
{
cout<<v2[k].sit<<endl;
}
else
{
break;
}
}
if(v2.size()==0)
{
v2.clear();
cout<<endl;
}
if (j<num-1)
cout<<endl;
v2.clear();
}
return 0;
}
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 浏览器
- 关闭WIN2003关机事件跟踪程序
- include 的两种方式
- Linux和ELF文件格式汇编语言教程 LiTlLe VxW著
- 诺基亚TD手机的期望与失望
- IntersectClipRect
- 浏览器
- InflateRect
- 提高工作效率
- Eclipse ,MyEclipse 代码提示功能设置与优化(转载)
- page,request,session,application的区别
- Git vs SVN: undo a commit
- SetWindowPos
- 使用 HttpWebRequest 向网站提交数据【转】
- Hello world