1.交换排序的基本思想是:两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。
a:冒泡排序:依次抽出所有数和为排出顺序数据进行比较,小的往一个方向靠,其余数留下。如( 3,5,4,2,1,)。首先从最末尾寻找,找到这当中最小的,放到第0个位置,然后又继续从最末尾开始寻找第二个最小的数方到的1个位置,依此类推就找出整个排序。他有个好处就是可以放一个开关,用来判断数据是否按设定的顺序以及排号了,详细看源代码。
b:快速排序:快速排序是这当中速度最快的,用处最广泛的。其办法是通过与一个关键字比较,大的站右边,小的站左边,关键字来站中间。(^-^)(站住,举起手来,我是警察,男的站左边,女的站右边,嗯……………..老师它站那里,呵呵,变态的站中间!) (^-^)。然后依此类推,直到剩下两个数,比出他们高矮后就完事了。
快速排序的三部曲:
分解( Divide ):将原问题分成两半,一边大一边小。
求解( Conquer ):小的有分大和小两边,大的那边同理。递归完个组。
组合( Combine ):将排号高矮的连成一排就是结果了。
详细步骤看代码: