从零开始学数据结构与算法--2.简单排序
2018-07-09 16:51
92 查看
冒泡排序public static void sort(long[] arr) { long tmp = 0L; for (int i = 0; i < arr.length - 1; i++) { for (int j = arr.length - 1; j > i; j--) {//前一个与后一个之间相比较,如果后一个比前一个小,那么前一个和后一个位置替换 if (arr[j] < arr[j - 1]) { //进行交换 tmp = arr[j]; arr[j] = arr[j - 1]; arr[j - 1] = tmp; } } }}选择排序public static void sort(long[] arr) { int k = 0; long tmp = 0; for (int i = 0; i < arr.length - 1; i++) { k = i;//前一个与后一个之间相比较,如果后一个比前一个小,那么记住后一个的下角标,让他再遇更后一个比较,以此类推,直到最后,然后第一个与最小的相替换 for (int j = i; j < arr.length; j++) { if (arr[j] < arr[k]) { k = j; } } tmp = arr[i]; arr[i] = arr[k]; arr[k] = tmp; }}插入排序public static void sort(long[] arr) { long tmp = 0;
for (int i = 1; i < arr.length; i++) { //把数组下角标数记下来,记录tmp中 tmp = arr[i]; int j = i; //通过遍历把大于等于tmp的进行右移 while (j > 0 && arr[j] >= tmp) { arr[j] = arr[j - 1]; j--; } //然后把tmp负值给数组下角标j--到最后变成j=0 arr[j] = tmp; }}
for (int i = 1; i < arr.length; i++) { //把数组下角标数记下来,记录tmp中 tmp = arr[i]; int j = i; //通过遍历把大于等于tmp的进行右移 while (j > 0 && arr[j] >= tmp) { arr[j] = arr[j - 1]; j--; } //然后把tmp负值给数组下角标j--到最后变成j=0 arr[j] = tmp; }}
相关文章推荐
- 每天一个数据结构——三种简单排序算法及Java实现
- 数据结构学习笔记一:简单排序与查询算法
- 算法和数据结构---排序--简单选择排序
- 数据结构和算法-----三种简单的排序详解
- 【数据结构】算法10.9 选择排序-简单选择排序
- 直接插入排序 - 数据结构和算法90
- 算法--简单选择排序
- 数据结构----简单选择排序
- 常用的算法和数据结构分析(查找和排序)
- 数据结构简单算法(2)费式数列
- 【数据结构&&算法系列】堆排序简单介绍及其实现
- 经典简单排序算法——冒泡排序&&选择排序
- 浅谈算法和数据结构(4):快速排序
- 数据结构:排序算法之堆排序和选择排序
- 【数据结构】非比较排序的算法实现(包括计数排序、计数排序)
- 从零开始_学_数据结构(六)——排序(冒泡、插入、希尔、简单选择、归并、快速)
- 【数据结构和算法】排序算法之三:插入排序
- 简单排序算法之快速排序
- 简单排序算法之冒泡排序
- 外部排序 简单算法