4.3.8 排列
2025年09月26日
4.3.8 排列
本小节主要介绍容器(序列)中元素的“排列元素”“重排元素”和“前向搬移”三种操作。“排列元素”会改变容器(序列)中的元素次序,排序方式为字典式“正规”排序。“重排元素”是指对容器中的所有元素进行随机排序,一般有两种形式:符合均匀分布随机的排序;按指定规则打乱容器(序列)中的元素次序。“前向搬移”是指按指定的一元判断式向前搬移元素,当一元判断式的值为true时,算法会向前移动符合条件的元素,其返回值是使一元判断式为“false”的第一个元素位置。
排列元素的原型为:
重排元素的原型为:
前向搬移元素的原型为:
例4-23
例4-23的执行效果如图4-23所示。
图4-23 例4-23的执行效果
例4-24
例4-24的执行效果如图4-24所示。
图4-24 例4-24的执行效果
例4-25(引自《C++标准程序库》)
例4-25的执行效果如图4-25所示。
图4-25 例4-25的执行效果
上述3个例题分别讲述了6种和排序有关的算法,其功能各不相同。但它们均是通过不同的方式来实现对容器(序列)中元素的排序。看似用途不大,但是各种妙处希望读者多理解,多体会。