1冒泡算法思想:
在要排序的一组数中,对当前还未排好序的范围内的全部数,自上
而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较 小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要 求相反时,就将它们互换。 2选择排序思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换; 然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环 到倒数第二个数和最后一个数比较为止。3插入排序
每次将一个待排序的数据元素,插入到前面已经排好序的数列中的适当位置,使数列依然有序;直到待排序数据元素全部插入完为止。
4快速排序
在当前无序区R[1..H]中任取一个数据元素作为比较的"基准"(不妨记为X),用此基准将当前无序区划分为左右两个较小的无序区:R[1..I-1]和R[I+1..H],且左边的无序子区中数据元素均小于等于基准元素,右边的无序子区中数据元素均大于等于基准元素,而基准X则位于最终排序的位置上,即R[1..I-1]≤X.Key≤R[I+1..H](1≤I≤H),当R[1..I-1]和R[I+1..H]均非空时,分别对它们进行上述的划分过程,直至所有无序子区中的数据元素均已排序为止。
2. 排序过程:【示例】:初始关键字 [49 38 65 97 76 13 27 49]第一次交换后 [27 38 65 97 76 13 49 49]第二次交换后 [27 38 49 97 76 13 65 49]J向左扫描,位置不变,第三次交换后 [27 38 13 97 76 49 65 49]I向右扫描,位置不变,第四次交换后 [27 38 13 49 76 97 65 49]J向左扫描 [27 38 13 49 76 97 65 49](一次划分过程) 本文来自CSDN博客,转载请标明出处: