首页 > 代码库 > 仿真——算盘排序

仿真——算盘排序

  冒泡排序,是模仿鱼吐泡沫是的样子,大泡泡先浮出水面,小泡泡浮的比较慢。

  今天在看冒泡排序的时候,突然想到模仿算盘的样子做排序。

  首先把待排序的每个数字看作算盘的一排珠子,珠子的个数代表这个数字的大小。假设算盘倾斜的时候,珠子会发生侧移。那么当算盘倾斜的时候,第一排珠子的数量肯定是最多的,第二排珠子的数量次多,……,依此顺序,算法上的珠子呈现一个由左至右递减的顺序。

  比如,第一排珠子的数量为2,第二排珠子的数量为6,第三排珠子数量为3。当算盘向左倾斜的时候,第二排的第四颗(从上到下数)珠子会向左移动,这时第二排有2颗珠子,第一排有6颗珠子;第三排的第一颗珠子向第二排珠子移动,这时第三排有2颗珠子,第二排有3颗珠子;第一排珠子的数量大于第二排,所以不用再移动了。如下图所示:

有谁能实现的……