我是靠谱客的博主 勤奋香烟,最近开发中收集的这篇文章主要介绍几种常见的排序算法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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)二路归并排序



最后

以上就是勤奋香烟为你收集整理的几种常见的排序算法的全部内容,希望文章能够帮你解决几种常见的排序算法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部