kitten算法练习-选择排序

Posted 临清少儿编程中心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kitten算法练习-选择排序相关的知识,希望对你有一定的参考价值。

题目:使用kitten编写程序,对列表中的10个数利用选择排序法排序。【不易理解,建议年龄10+】

简单选择排序的基本思想:第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换;第2趟,在待排序记录r[2]~r[n]中选出最小的记录,将它与r[2]交换;以此类推,第i趟在待排序记录r[i]~r[n]中选出最小的记录,将它与r[i]交换,使有序序列不断增长直到全部排序完毕。

以下为简单选择排序的存储状态,其中大括号内为无序区,大括号外为有序序列:

初始序列:{49 27 65 97 76 1238}

  第1趟:12与49交换:12{27 65 9776 49 38}

  第2趟:27不动 :12 27{65 97 76 49 38}

  第3趟:65与38交换:12 27 38{9776 49 65}

  第4趟:97与49交换:12 27 3849{76 97 65}

  第5趟:76与65交换:12 27 38 4965{97 76}

  第6趟:97与76交换:12 27 38 4965 76 97 完成

数据交换位置的一般方法:假设我们要交换A\B两个瓶子中的水,首先要把A瓶子里的水倒出来放入其它容器里C里,然后再把B瓶子里的水倒入到A瓶里,最后把其它容器C里的水倒回B瓶子里,这样就完成了交换,程序也是如此。例如:替换第1项与第3项,将第1项存入临时变量,然后把第1项替换为第3项,再将第3项替换为临时变量。




以上是关于kitten算法练习-选择排序的主要内容,如果未能解决你的问题,请参考以下文章

算法练习--快速排序堆排序

排序算法 一选择排序

排序算法—— 冒泡排序选择排序

在路上---学习篇Python 数据结构和算法 -- 冒泡排序选择排序插入排序

程序员必须掌握的十大排序算法(在线练习)

直通BAT算法精讲附程序源码