uniqueiter.cpp

来自「C++&datastructure书籍源码,以前外教提供现在与大家共享」· C++ 代码 · 共 38 行

CPP
38
字号
#include <iostream>
#include <string>
using namespace std;

#include "clist.h"
#include "worditer.h"
#include "stringset.h"
#include "prompt.h"

template <class Type>
int UniqueStrings(Type& iter)
// post: return # unique strings in iter
{
    StringSet uni;
    for(iter.Init(); iter.HasMore(); iter.Next())
    {    uni.insert(iter.Current());
    }
    return uni.size();
}

int main()
{
    string filename = PromptString("filename: ");
    WordStreamIterator witer;
    witer.Open(filename);
    CList<string> slist;
    
    for(witer.Init(); witer.HasMore(); witer.Next())
    {    slist = cons(witer.Current(),slist);
    }
    CListIterator<string> iter(slist);
    cout << "unique from WordIterator = " 
         << UniqueStrings(witer) << endl;
    cout << "unique from CList = " 
         << UniqueStrings(iter) << endl;
    return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?