終止符EOF在windows平台中如何輸入

來源:互聯網
上載者:User

來自:http://zhidao.baidu.com/question/293245134.html?fr=qrl&cid=93&index=3

在windows平台,一般類比eof的輸入是在一個新行的開頭輸入ctrl + z就行了在unix環境下,是在一個新行的開始出輸入ctrl + D就可以了

附上:
//三句話實現從螢幕中輸入單詞、按字母順序排序,剔除重複單詞後、輸出到螢幕上。vector<string> v1((istream_iterator<string> (cin) ),(istream_iterator<string> () ));sort(v1.begin(),v1.end());//cout<<"\n out: \n";unique_copy(v1.begin(),v1.end(),ostream_iterator<string>(cout," "));解釋來自:
http://blog.csdn.net/sandy_zc_1/article/details/6529304

用STL實現就這麼一點,恰三行代碼。來稍微解釋下:第一句定義了一個vector v1,並且在建構函式中傳入兩個輸入資料流迭代器,這兩個迭代器構成一個區間,表示輸入的所有單詞,直到輸入終止(EOF)。這樣v1就在建立的時候裡面填滿了輸入的各個單詞。第二句,使用sort對這個vector裡面的元素進行排序。是的,不需要你寫複雜的字串比較函數,string內部帶有operator < 的定義。而sort,只需要一個小於符號即可運作。排序完畢後,所有單詞就按照字母順序從小到大整齊排列了。第三句,使用unique_copy來將v1中的資料拷貝到目標區間。unique_copy和copy的不同之處就在於,它可以將連續的n個相同元素剔除掉其中的n-1個,只留下一個元素,從而實現unique的功能。這次拷貝的目標區間的起始又是流迭代器——這次是輸出資料流迭代器,它將演算法給它的資料輸出到cout中,於是就顯示在螢幕上了。很神奇,很強大吧。我覺得用這個例子來作為迭代器配接器介紹的結尾,挺好的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.