博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用C++ STL 对多个字符串进行查询、排序和统计等
阅读量:2285 次
发布时间:2019-05-09

本文共 2793 字,大约阅读时间需要 9 分钟。

题目1:

有以下字符串: “www.uestc.edu.cn” ,“www.codeproject.com”,“www.cnki.net”,“www.163.com”,“www.taobao.com”, “www.baidu.com”.将以上6个字符串装入vector容器中,采用某一种STL排序算法,对这6个字符串进行排序后输出;

程序清单: 

#include<iostream>

#include<algorithm>

#include<vector>

#include<string>

using namespace std;

int main()

{

    vector<string>wz;            //定义一个vector

    vector<string>::iterator it;    //定义一个迭代器

    //初始化vector

    wz.push_back("www.uestc.edu.cn");

    wz.push_back("www.codeproject.com");

    wz.push_back("www.cnki.net");

    wz.push_back("www.163.com");

    wz.push_back("www.taobao.com");

    wz.push_back("www.baidu.com");

    cout<<"排序前:\n";

    for(it=wz.begin();it!=wz.end();it++)

        cout<<*it<<"\n";

    cout<<endl;

    sort(wz.begin(),wz.end());

    cout<<"排序后:\n";

    for(it=wz.begin();it!=wz.end();it++)

        cout<<*it<<"\n";

    cout<<endl;

 

    return 0;

}

 

题目2:将以上6个字符串装入list容器中,统计以上6个字符串中单个字符出现的个数进行统计;

 

程序清单:

#include<iostream>

#include<algorithm>

#include<list>

#include<string>

using namespace std;

int main()

{

    //利用数组进行切换

    int num[256]={0};

    string cs[6]={"www.uestc.edu.cn","www.codeproject.com","www.cnki.net","www.163.com","www.taobao.com","www.baidu.com"};

    list<string>wz(cs,cs+6);            //定义一个list

    list<string>::iterator it;    //定义一个迭代器

    cout<<"原始数据:\n";

    for(it=wz.begin();it!=wz.end();it++)

        cout<<*it<<"\n";

    cout<<endl;

    cout<<"个数统计:\n";

    for(it=wz.begin();it!=wz.end();it++)

    {

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

       // cout<<(*it)[i]<<endl;         注意:*的优先级要小于[],因此要加()

            num[(int)((*it)[i])]++;

    }

    for(int i=0;i<256;i++)

        if(num[i]!=0)

            cout<<(char)i<<":"<<num[i]<<endl;

    cout<<endl;

 

    return 0;

}

 

 

题目3:将以上6个网址的关键记忆字符串(uestc,codeproject,cnki,163,taobao,baidu),提取分别从以上6个字符串中提取出来(用程序进行提取),并和原始字符串用map做一个映射,并任意输入一个关键字再map内进行查询,并输出及结果

程序清单:

#include<iostream>

#include<algorithm>

#include<vector>

#include<string>

#include<map>

using namespace std;

int main()

{

    vector<string>wz;            //定义一个vector

    vector<string>::iterator it;    //定义一个迭代器

    map<string,string> wzkey;

    map<string,string>::iterator iter;

    string cs[6];

    int i;

    string n;

    //初始化vector

    wz.push_back("www.uestc.edu.cn");

    wz.push_back("www.codeproject.com");

    wz.push_back("www.cnki.net");

    wz.push_back("www.163.com");

    wz.push_back("www.taobao.com");

    wz.push_back("www.baidu.com");

    cout<<"原始数据:\n";

    for(it=wz.begin();it!=wz.end();it++)

        cout<<*it<<"\n";

    cout<<endl;

    //提取关键记忆字符串

    for(it=wz.begin();it!=wz.end();it++)

    {

        for(i=0;i<(*it).size();i++)

        {

            int k=0;

            if((*it)[i]=='.')

            {

            do{

                cs[it-wz.begin()].push_back((*it)[i+1]);

                k++;

                i++;

            }while((*it)[i+1]!='.');

            break;

            }

        }

    }

    for(int i=0;i<6;i++)

    {

        wzkey.insert(pair<string,string>(cs[i],wz[i]));

    }

    cout<<"关键记忆字符串:\n";

    for(iter=wzkey.begin();iter!=wzkey.end();iter++)

        cout<<iter->first<<"            "<<iter->second<<endl;

    cout<<endl;

    //查找并输出结果

    cout<<"请输入您要查找的关键字\n";

    cin>>n;

    iter=wzkey.find(n);

    if(iter!=wzkey.end())

        cout<<"你所查找的网址是:\n"<<iter->second<<endl;

    else

        cout<<"未找到您要查找的网址\n";

    return 0;

}

 

实验环境:Ubuntu16.04 LTS

编译环境:Qt 5.5.1

日期:2018.6.

转载地址:http://mjznb.baihongyu.com/

你可能感兴趣的文章
搜索引擎的第三定律
查看>>
Install ImageMagick 5.5.7 on Debian
查看>>
Perl DBI连接MySQL数据库
查看>>
Perl DBI 入门
查看>>
Perl 中的特殊变量 $&, $`,$' ,@_
查看>>
debian 下 perldoc 安装
查看>>
perl CPAN模块安装的配置文件
查看>>
常用vi指命
查看>>
php5 面向对像学习手扎
查看>>
IE 下的打印
查看>>
一个Mysql自动备份脚本
查看>>
常用Linux软件列表
查看>>
vi的使用
查看>>
Red Hat下WEB服务器的配置
查看>>
蝴蝶计划
查看>>
SWFObject: 基于Javascript的Flash媒体版本检测与嵌入模块
查看>>
ASP语法速查表
查看>>
post表单时的html报文的header信息
查看>>
用PHP开始你的MVC (一)整合你的站点入口
查看>>
用PHP开始你的MVC (二)抽象数据库接口
查看>>