一:冒泡排序

把小的元素往前调或者把大的元素往后调是相邻的两个元素比较,交换也发生在这两个元素之间,相同的两元素不会进行比较交换。

eg:6、1、9、8

第一轮比较:

第一步:6和1比较,6往后挪变为1、6、9、8

第二步:6和9比较,发现9比6大,不动,还是1、6、9、8

第三步:9和8比较,9往后挪变为1、6、8、9


第二轮轮询比,直到最后一轮


二:快速排序

快速排序(Quicksort)是对冒泡排序的一种改进。

eg:6、2、7、3、8、9

先把6和9定义为第一个和最后一个

i=0,j=5,k=6

第一轮:

从最右边开始往前找,找到比6小的互换,3、2、7、6、8、9,             (i=0,j=3,k=6)

从最左边开始往后找,找到比6大的互换,3、2、6、7、8、9                 i=2,j=3,k=6)

第N轮:重复第一轮的步骤,直到 i和j 碰头为止



三:插入排序

eg:【12】、15、9、20、6

第一轮:【12、15】、9、20、6

第二轮:【9、12、15】、20、6

第三轮:【9、12、15、20】、6

第四轮:【6、9、12、15、20】