冒泡,简单选择,直接插入排序(Java版)
来源:互联网 发布:易道打车软件 编辑:程序博客网 时间:2024/06/05 15:37
冒泡,简单选择,直接插入这三种排序都是简单排序。
工具类
package Utils;import java.util.Arrays;public class SortUtils { public static void swap(int[] a,int i,int j){ int temp = a[i]; a[i] = a[j]; a[j] = temp; } public static void printString(int[] a){ System.out.println(Arrays.toString(a)); }}
冒泡排序
package BubbleSort;import java.util.Arrays;import Utils.SortUtils;public class Demo02 { public static void bubbleSort(int[] a){ int len = a.length; boolean flag = true; for(int i=0; i<len-1 && flag; i++){ flag = false;//假设无须交换 for(int j=0; j< len-1-i; j++) { if(a[j+1]<a[j]){ flag = true;//交换了 SortUtils.swap(a,j+1,j); } } } } public static void main(String[] args) { int[] a = {2,3,5,4,1,6,9,8,7}; bubbleSort(a); SortUtils.printString(a); }}
简单选择排序
package SimpleSort;import java.util.Arrays;import Utils.SortUtils;public class Demo { public static void simpleSort(int[] arr){ int min; for (int i = 0; i < arr.length; i++) { min = i;//假设第一个数据为最小的数据 for (int j = i+1; j < arr.length; j++) { if(arr[min]>arr[j]){ min = j; } } if(i!=min){ SortUtils.swap(arr, min, i); } } } public static void main(String[] args) { int[] a = {2,3,5,4,1,6,9,8,7}; simpleSort(a); SortUtils.printString(a); }}
直接插入排序
package InsertSort;import Utils.SortUtils;public class Demo { public static void insertSort(int[] a){ int temp,j; for (int i = 0; i < a.length-1; i++) { if(a[i]>a[i+1]){//后一个数据小于前一个数据 temp = a[i+1];//放入缓存区 for (j = i; j>=0&&a[j]>temp; j--) { a[j+1] = a[j];//往后移动 } //因为前面减一之后做的判断,所以这里加一 a[j+1] = temp; } } } public static void main(String[] args) { int[] a = {2,3,5,4,1,6,9,8,7}; insertSort(a); SortUtils.printString(a); }}
比较三种排序
0 0
- 冒泡,简单选择,直接插入排序(Java版)
- 冒泡,简单选择,直接插入排序比较(Java版)
- 简单排序(冒泡,选择,直接插入)
- 简单排序---冒泡,简单选择,直接插入
- 冒泡排序、选择排序、直接插入排序(java实现)
- 简单排序:冒泡排序、直接插入排序、直接选择排序
- 直接插入、简单选择、冒泡排序
- Java基础篇之----排序(快速排序、冒泡排序、堆排序、简单选择排序、 希尔排序、直接插入排序)
- 用Java实现各种排序(1)---冒泡排序,直接插入排序,简单选择排序
- java实现三种简单排序以及改良:冒泡排序,选择排序,直接插入排序
- 排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序
- 简单排序 --(冒泡排序,简单选择排序,直接插入排序)
- Java -- 简单排序(冒泡、选择、插入)
- java冒泡、简单插入、选择排序
- JAVA数据结构:简单排序(冒泡,选择,插入)
- java实现各种基础排序(冒泡排序、快速排序、直接选择排序、堆排序、直接插入排序、归并排序)
- 排序算法之冒泡排序、选择排序、直接插入排序(java实现)
- 直接插入、冒泡、快速、简单选择、堆、归并排序算法
- iOS开发分分钟搞定C语言 —— 流程控制
- *UVALive 6656 - Watching the Kangaroo(二分)
- Eclipse 埋坑笔记
- clojure解构(clojure destructuring)
- C++用指针访问private 成员
- 冒泡,简单选择,直接插入排序(Java版)
- Python图形GUI工具包tkinter如何调整元件在窗口中的位置几何布局管理
- 前端一些兼容性问题
- 【多媒体封装格式详解】---ASF(WMV/WMA)
- iOS 多线程简介 一
- extern与static的链接属性分析
- c++ 复杂类型指针 类指针 浅谈
- 工作两周年记------今晚和三个兄弟一起痛快地喝了一次, 在《祝你一路顺风》的旋律中!
- C语言goto语句