宾果排序算法(Bingo Sort Algorithm)类似于选择排序,首先找到最小的元素称为Bingo元素,然后反复迭代数组的元素以获得所有元素的正确位置。每过一轮都要找到对应的Bingo元素,每个不同的元素都被认为是一个Bingo元素,并以递增的顺序被调用。
选择排序与宾果排序的关系
选择排序会为每个移动的项目遍历剩余项目。宾果排序对每个不同的值进行一次传递,并将具有该值的每个项目移动到其最终位置。
宾果排序原理和示例
在宾果排序中,每个不同的元素都被视为一个Bingo值。并且Bingo值以递增的顺序被调用。在每次传递期间,如果数组元素等于Bingo元素,则将其移动到正确的位置。
以arr数组为例:arr[]=[3,6,8,3,6,8,3,6,3,6]
第1步:找到称为Bingo元素的最小值,最小元素是3。
第2步:通过交换元素的位置,将数组中的所有元素移动到它们的正确位置,该位置等于最小元素。具体如下:
>3,3,8,6,6,8,3,6,3,6
>3,3,3,6,6,8,8,6,3,6
>3,3,3,3,6,8,8,6,6,6
第3步:找到下一个Bingo元素并将元素移动到与Bingo元素相等的正确位置。下一个Bingo元素是6。
>3,3,3,3,6,6,8,8,6,6
>3,3,3,3,6,6,6,8,8,6
>3,3,3,3,6,6,6,6,8,8
思路:
1.从数组中找出最小和最大的元素。最小的元素被称为Bingo元素。
2.创建一个全局变量,它将跟踪要移动到正确位置的元素位置。
3.运行一个while循环,直到不同元素的数量-1。
4.在while循环内运行一个循环,通过检查与Bingo元素的相等性将数组的元素移动到正确的位置,并找到下一个宾果元素。
5.最后输出已排序的数组。