第六十三讲 初识标准库(2)

我们今天来继续看昨天我们留下的问题,昨天我们使用标准容器vector轻松解决了第一二条,现在我们来看看接下来的内容:
———————————-
3)我们排序这些单词(以字典序)。
4)去掉所有重复的单词。
5)再按照长短排序。
6)计算超过某个数字的单词个数。
7)去掉任何没有语义的中性词(and,if,or,but等等)。
8)打印出最后所剩下的。

————————————

现在我们要来看看第三条,第三条,我们要排序这些单词,按字典排序,如果我们使用是过程式编程思想,我们可能会去写一个快速排序,那样可能会是一件头疼的事,但是我们如今可以使用一个函数,叫做sort的函数,他可以轻松地解决我们的问题,所以想要按字典序排序,我们只需要一句话就可以完成:
—————————
sort(it,Array_Text.end());


—————————

如果大家还记得以前我们说的排序算法的那几讲的时候,我们就说过了这个sort函数,他是标准库的通用算法,默认排序就是字典排序,所以,我们不必去写使用三参数的sort,我们现在得出这样的结果,可以看得出
———————————–
Also But NOT Rehearse Shut Slide Stress The There’s They They You You a a a a a about about advance. advice all an and and answers anything are are arrive. as ask aura. be because before bring can care certain choices. contact, copies dazzle decision desk. do don’t don’t don’t dying excitement extra eye fifteen firm first five fluffing folder. for for gestures good hair. handshake, hard have hire important in in in in interested interview interviewer is it job job just key: know know life like made made may minutes must needs. nice, no not of of of of of off off often on on or or order organization other out out pass person personal phone position. possible professional professional professional-looking questions resume say say. seem self-pacifying share side so someone). the the the the the the the there there. to to to to to to to to to to to to to to ton undermine unsure want want want what what what what why will with within work you you you you you you you(the your your your your your your
————————————–

这结果好乱哦,不过很好,我们一句话就解决了这个看似棘手的问题,好吧,随他乱去吧,我们继续下一个问题,如果我们把重复的删掉不就好了吗?这看上去还是一件很麻烦的事,不过我们还是可以用一句话解决这个问题,在标准库里面有个叫unique()的函数,他可以帮我们去掉重复的单词:
———————————–
unique(it,Array_Text.end());


———————————–

当使用这个函数之后,我们会发现顺眼多了,但是还是有个问题,这个问题我就不贴出结果来演示,我直接说吧,其实这个函数并不会修改容器大小,他只是把重复的单词扔到后面,同时返回一个指向重复的第一个元素的迭代器,那么想要缩减容器大小,我们用另一个函数来完成,erase()可以完成这个功能,我们将上面代码修改一下,如同下面这样,不但能够排序,还能够完成容量的缩小。
————————————-
my_Text::iterator my_it;


my_it = unique(it, Array_Text.end());


Array_Text.erase(my_it, Array_Text.end());


————————————-

直到现在我们是不是都觉得很简单?这就是标准库带给我们的方便,今天,我们就到这里吧,为什么呢?因为接下来的问题不会再像这么简单了,所以接下来的内容我们就留待下一讲。

==============================
回复D直接查看目录


原文始发于微信公众号(

C/C++的编程教室

):第六十三讲 初识标准库(2)

|

发表评论