选择排序是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 遍历数组,遍历到i时,a0,a1,…,ai-1是已经排好序的,然后从i到n选择出最小的,记录下位置,如果不是第i个,则和第i个元素交换。此时第i个元素可能会排到相等元素之后,造成排序的不稳定。
设计模式之禅|6大设计原则
曾经对“设计模式”(Design Pattern)很膜拜,以为是最高大上的东西。现在看来更多的是前人总结的经验吧,了解一下就可以了,关键是要用的时候“熟能生巧”。最开始看的时候也正在学习Java,配合着这本书中的Java代码,感觉各种神奇。其实,Java语言设计之初为了避免像C++般复杂却过于简化了语法,结果大大降低了本身的表达能力。很多本来可以很简洁的代码,必须绕来绕去得写出来,这个时候就很需要利用设计模式来整理代码逻辑。另一方面,设计模式也还是有些用途的,尤其是在开发大型软件系统,很注重系统架构的设计和功能模块的解耦的场合。