三种简单的排序算法(java实现)
2017-10-20 11:49
225 查看
排序算法在学习语言之初都会提到,今天就来介绍三种简单的排序算法,分别是插入排序、冒泡排序和选择排序。我前面还写过一个关于快速排序的,有兴趣的可以去看看:http://blog.csdn.net/luqiren/article/details/77197746
1.插入排序
插入排序就是每次将一个数插入到已经排好序的数组里,插入完这个数以后,这个数组还是有序的,它的工作方式就像我们平时排序扑克牌一样,开始时,我们的左手为空并且桌子上的牌面朝下,然后,我们每次从桌子上拿走一张牌并将它插入左手中正确的位置,为了找到一张牌的正确位置,我们将从右到左将它与已在手中的每张牌进行比较,拿在左手的牌总是有序的。
代码如下:
2.冒泡排序
冒泡排序就是相邻的两个数字两两比较,然后把最大或者最小的数就像泡一样一点一点往上冒。
代码如下:
3.选择排序
选择排序就是每次比较找到最大或最小的那个数,然后将它排在相应的位置。
代码如下:
1.插入排序
插入排序就是每次将一个数插入到已经排好序的数组里,插入完这个数以后,这个数组还是有序的,它的工作方式就像我们平时排序扑克牌一样,开始时,我们的左手为空并且桌子上的牌面朝下,然后,我们每次从桌子上拿走一张牌并将它插入左手中正确的位置,为了找到一张牌的正确位置,我们将从右到左将它与已在手中的每张牌进行比较,拿在左手的牌总是有序的。
代码如下:
// 插入排序 public static void insertionSort(int[] a) { for (int j = 1; j < a.length; j++) { int key = a[j]; int i = j - 1; while (i >= 0 && a[i] > key) { a[i + 1] = a[i]; i = i - 1; } a[i + 1] = key; } }
2.冒泡排序
冒泡排序就是相邻的两个数字两两比较,然后把最大或者最小的数就像泡一样一点一点往上冒。
代码如下:
// 冒泡排序 public static void bubbleSort(int[] a) { int temp = 0; for (int i = 1; i < a.length; i++) { for (int j = 0; j < a.length - i; j++) { if (a[j] > a[j + 1]) { temp = a[j]; a[j] = a[j + 1]; a[j + 1 4000 ] = temp; } } } }
3.选择排序
选择排序就是每次比较找到最大或最小的那个数,然后将它排在相应的位置。
代码如下:
// 选择排序 public static void selectSort(int[] a) { int temp = 0; for (int i = 0; i < a.length - 1; i++) { for (int j = i; j < a.length; j++) { if (a[i] > a[j]) { temp = a[i]; a[i] = a[j]; a[j] = temp; } } } }
相关文章推荐
- JAVA拾遗 - 线程的三种简单实现
- java实现简单的排序算法
- 三种简单排序用java实现(选择排序,冒泡排序,插入排序)
- [排序算法]--直接插入排序的三种实现(Java)
- 详解java倒计时三种简单实现方式
- JAVA实现常见简单排序算法
- java几种排序算法的实现及简单分析
- 排序算法---(3)简单插入排序---Java实现
- 关于基本排序算法的简单研究总结(java 实现)
- 几种排序算法java简单实现
- 每天一个数据结构——三种简单排序算法及Java实现
- 排序算法之简单算法——java实现
- [排序算法]--冒泡排序的三种实现(Java)
- java简单实现常用的排序算法
- Java实现三种排序算法
- 三种初级排序算法(冒泡、选择、直接插入)java实现及其性能比较
- Java实现一部分简单的排序算法和数据结构(学习笔记20171022002)
- java简单实现缓存的三种方法
- 三种常用排序算法(冒泡、选择、快速)的Java实现
- java三种排序算法的实现