java学习笔记之数组排序
来源:互联网 发布:qq软件被破坏 编辑:程序博客网 时间:2024/05/14 02:30
java的三种数组排序方式
- 冒泡排序
- 选择排序
- 插入排序 -
排序的实现
package com.yu.sort;public class SortUtils { /** * 冒泡排序 * @param arr */ public static void bubbleSort(int[] arr) { for (int i = 0; i < arr.length; i++) { for (int j = arr.length-1; j > i; j--) { // 从后往前 相邻比较 小的往前移 if (arr[j] < arr[j-1]) { int temp = arr[j]; arr[j] = arr[j-1]; arr[j-1] = temp; } } } } /** * 选择排序 * 特定的元素和后面的元素选择进行比较 * 若比后面的大 则交换 * @param arr */ public static void selectSort(int[] arr) { int temp = 0; for (int i = 0; i < arr.length; i++) { for (int j = i+1; j < arr.length; j++) { if (arr[j] < arr[i]) { temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } } /** * 选择排序 * 特定的元素和后面的元素依次比较 * 选择出最小元素的角标 然后交换 * @param arr */ public static void selectSort2(int[] arr) { int temp = 0; int k =0; for (int i = 0; i < arr.length; i++) { k = i; for (int j = i+1; j < arr.length; j++) { if (arr[j] < arr[k]) { k = j; } } temp = arr[k]; arr[k] = arr[i]; arr[i] = temp; } } /** * 插入排序 * @param arr */ public static void insertSort(int[] arr) { int k = 0; for (int i = 0; i < arr.length; i++) { k = i; int temp = arr[i]; for (int j = 0; j < i; j++) { if (arr[j] > arr[k]) { k = j; // 获取插入点 break; } } if(k != i){ for (int j = i; j > k; j--) { arr[j] = arr[j-1]; // 移动大于temp的值 } arr[k] = temp; } } } /** * 插入排序 * @param arr */ public static void insertSort2(int[] arr) { if (arr.length < 2) { // 长度小于2 直接结束 return; } for (int i = 1; i < arr.length; i++) { int temp = arr[i]; int k = i; while(k > 0 && arr[k-1] > temp){ // 判断k是否大于0 并且上一项大于temp arr[k] = arr[k-1]; k--; } arr[k] = temp; } }}
0 0
- Java学习笔记之数组排序算法
- java学习笔记之数组排序
- java学习笔记之数组排序
- java学习之数组排序
- java学习之 数组排序-选择排序
- Java学习笔记之数组
- 【Java学习笔记】之数组
- JAVA学习笔记之数组
- java自学笔记之数组 排序
- Java 数组排序(冒泡和选择排序) 学习笔记
- 黑马程序员—Java基础学习笔记之数组排序(机选双色球)
- 【Java学习笔记】基础知识学习5【数组排序,复制】
- Java学习笔记之数组复习
- Java学习笔记之 数组方法
- Java学习笔记之数组工具类
- Java学习笔记之数组、枚举
- JAVA学习笔记五之(1)数组
- JAVA学习笔记之(五)数组
- 链表一大堆
- Vim使用技巧
- C/C++连接mysql数据库(vs)
- 蓝桥杯 大数阶乘
- 概率模型与条件随机场
- java学习笔记之数组排序
- 开发Web的jar包
- 涅槃?高效报表开发人员的五件武器
- 用css3来解决背景图自适应的问题
- 使用HTTPS防止流量劫持
- 【有关问题】当GridView嵌入ListView后,始终响应的是GridView的点击事件,小弟我需要的是获取到ListView的点击事件
- Editplus使用ftp链接Linux
- 继承、实现、依赖、关联、聚合、组合的联系与区别
- GPS追踪工具Traccar体验