冒泡,简单选择,直接插入排序(Java版)
2017-07-10 15:52
627 查看
冒泡。简单选择,直接插入这三种排序都是简单排序。
工具类
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); } }
比較三种排序
相关文章推荐
- 冒泡,简单选择,直接插入排序(Java版)
- 简单选择、冒泡、插入排序思想及Java实现代码
- 六、内部排序综合(九种)—插入类排序(直接插入、折半插入、希尔排序);交换类排序(冒泡、快速);选择类排序(简单选择、堆排序);二路归并排序;基数排序
- Java中实现简单的三大排序——冒泡、选择、插入
- C语言实现 排序源程序(包括直接插入、希尔、冒泡、快速、简单选择、堆排序)
- C语言实现 排序源程序(包括直接插入、希尔、冒泡、快速、简单选择、堆排序)
- 简单排序---冒泡,简单选择,直接插入
- 排序大全【各种排序】:直接插入,折半插入,冒泡,快排,简单选择,堆排序,归并排序
- java冒泡、简单插入、选择排序
- (数据结构排序的实验四)快速,冒泡,简单选择,直接插入排序的c语言实现!!
- 常用的排序算法:冒泡,简单选择,直接插入,快速排序,堆排序
- Java实现简单排序——冒泡、选择、插入、奇偶排序
- java实现三种简单排序以及改良:冒泡排序,选择排序,直接插入排序
- Java数组排序总结(冒泡,选择,插入,希尔)
- 简单排序:冒泡、选择、插入
- 数据结构之排序算法一冒泡排序,直接插入排序,简单选择排序
- Java数组排序总结(冒泡,选择,插入,希尔)
- 排序算法复习(Java实现):插入,冒泡,选择,Shell,快速排序, 归并排序,堆排序,桶式排序,基数排序
- java冒泡_选择_插入三大排序
- java冒泡_选择_插入三大排序