程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 倒排文檔

倒排文檔

編輯:C++入門知識



第一行輸出該詞所在的行數序號(多個的話,按照從小到大排序輸出,中間空格隔開,序號從一開始記),如果沒有出現,輸出 -1
第二行輸出頻次排名R的單詞出現的次數。
測試數據中的詞頻的分布如下,可見,排名第3的詞,出現的次數為2
I,4
Beijing,2
in,2
love,2
.,1
Bejing,1
a,1
also,1
am,1
and,1
beautiful,1
is,1
life,1
live,1
student,1
there,1

travelling,1


這題很簡單,參考答案是這樣的:

#include
#include
#include
#include
#include
#include
#include
using namespace std;

const int NN=100; //單詞總數
const int MM=100000; //文本單行最大字符數

/* 文本單行 */
char ss[MM];
/* 統計頻次 */
map Mmap;
/* 用於最後的頻次排序 */
struct node
{
    int x;
    string s;
}a[NN];

/* 用於最後的頻次排序的排序規則 */
bool cmp(node xx,node yy)
{
    if(xx.x==yy.x)
        return xx.syy.x;
}

bool fun(char *p,string temp)
{
    bool fg=false;  //此行中,是否有temp
    string t="";
    for(int i=0;*(p+i);i++)
    {
        if(*(p+i)==' ')
        {
            if(t.size()>0)
            {
                if(Mmap.count(t)==0)
                {
                    Mmap[t]=1;
                }
                else
                    Mmap[t]++;
                if(t==temp)
                    fg=true;
            }
            t="";
        }
        else
            t+=*(p+i);
    }

    if(t.size()>0)
    {
        if(Mmap.count(t)==0)
        {
            Mmap[t]=1;
        }
        else
            Mmap[t]++;
        if(t==temp)
            fg=true;
    }

    return fg;
}

int main()
{
    string temp;
    int n,R,tol=0;

    queueans; //存放查詢單詞出現的行數

    cin>>temp>>n>>R;
    getchar();

    for(int i=0;i::iterator itt = Mmap.begin();
    while(itt!=Mmap.end())
    {
        a[tol].s=(*itt).first;
        a[tol].x=(*itt).second;

      //  cout<<(*itt).first<<" "<<(*itt).second<0)
    {
        int x=ans.front();
        ans.pop();
        printf("%d",x);
        while(!ans.empty())
        {
            x=ans.front();
            ans.pop();
            printf(" %d",x);
        }
        puts("");
    }
    else
        puts("-1");

    cout<

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved