几种常见的排序算法

1、排序算法的分类

(1)交换排序:冒泡排序、快速排序

(2)选择排序:简单选择排序、堆排序

(3)插入排序:直接插入排序、希尔排序

(4)归并排序:二路归并排序

注意这里默认都是升序排列,下面给出swap的函数

public void swap(int[] array,int m,int n) {
int temp=0;
temp=array[m];
array[m]=array[n];
array[n]=temp;
}

2. 交换排序的代码

(1)冒泡排序

      每一趟将待排序序列中最大元素移到最后,剩下的为新的待排序序列,重复上述步骤直到排完所有元素。

几种常见的排序算法

(2)快速排序

     在分区中选择一个元素作为轴值,将待排序元素划分成两个分区,使得左侧元素的关键码均小于或等于轴值,右侧元素的关键码均大于或等于轴值,然后分别对这两个分区重复上述过程,直到整个序列有序。

几种常见的排序算法

3. 选择排序代码

(1)简单选择排序

   每一趟从待排序序列选择一个最小的元素放到已排好序序列的末尾,剩下的位待排序序列,重复上述步骤直到完成排序。

几种常见的排序算法

4.插入排序

(1)直接插入排序

   将数组分为两部分,将后部分元素逐一与前部分元素比较,如果当前元素array[i]小,就替换。找到合理位置插入array[i]

几种常见的排序算法

5.归并排序

(1)二路归并排序

几种常见的排序算法

几种常见的排序算法