Java实现常见排序算法
来源:互联网 发布:德国小蠊特效药 淘宝 编辑:程序博客网 时间:2024/04/29 16:05
转载请注明出处:http://blog.csdn.net/jevonsCSDN/article/details/55254923【Jevons’Blog】
冒泡排序:
package sortingAlgorithms;import java.util.Arrays;/*** <p>Title: BubbleSorting</p>* <p>Description:冒泡排序 </p>* <p>Company: </p> * @author jevons* @date 2017年2月15日 下午8:26:41*/public class BubbleSorting { public static void main(String[] args) { int[] data = { 7, 8, 9, 2, 1, 3, 4, 5, 6, 10 };// {12,45,6,7,68,99,13}; int temp,counter=0; for (int i = 0; i < data.length-1; i++) { for (int j = 0; j < data.length-1-i; j++) { if(data[j]>data[j+1]){ temp= data[j+1]; data[j+1]=data[j]; data[j] = temp; } counter++;//计数 } } System.out.println(Arrays.toString(data)); System.out.println("比较次数为:"+counter); }}
快速排序
package sortingAlgorithms;import java.util.Arrays;/*** <p>Title: FastSorting_SimpleVersion</p>* <p>Description: 快速排序算法</p>* <p>Company: </p> * @author jevons* @date 2017年2月16日 下午1:24:37*/public class FastSorting_SimpleVersion { public static void main(String[] args) { int[] data = { 12, 44, 7, 66, 43, 33, 1, 22 }; sort(data, 0, data.length - 1); System.out.println(Arrays.toString(data)); } public static void sort(int[] array, int lo, int hi) { if (lo >= hi) { return; } int initLo=lo; int initHi=hi; int key = array[lo]; while (lo < hi) { while (array[hi] >= key && hi > lo) { hi--; } array[lo] = array[hi]; while (array[lo] <= key && lo < hi) { lo++; } array[hi] = array[lo]; } array[lo]=key; //递归 sort(array, initLo, hi-1); sort(array,hi+1,initHi); }}
插入排序
package sortingAlgorithms;import java.util.Arrays;/*** <p>Title: InsertionSorting</p>* <p>Description: 插入排序,效率比冒泡排序高近一倍</p>* <p>Company: </p> * @author jevons* @date 2017年2月16日 下午12:56:23*/public class InsertionSorting { public static void main(String[] args) { int[] data = { 7, 8, 9, 2, 1, 3, 4, 5, 6, 10 };//{12,44,7,66,43,33,1,22}; insertSort(data); System.out.println(Arrays.toString(data)); } private static int[] insertSort(int[] data) { if (data == null || data.length < 2) { return data; } int counter =0;//计数器 for (int i = 1; i < data.length; i++) { int temp = data[i]; int j=i; while(j>0&&data[j-1]>temp){ data[j]=data[j-1]; j--; counter++;//计数 System.out.println(Arrays.toString(data)); } data[j]=temp; } System.out.println("比较次数为:"+counter);//本例数据用冒泡算法需比较45次,而插入排序只需19次 return data; }}
0 0
- 常见排序算法--java实现
- java实现常见排序算法
- Java实现常见排序算法
- 常见排序算法java实现
- 常见排序算法java实现
- 常见排序算法的java实现
- 常见经典排序算法的java实现
- 常见排序算法总结(java实现)
- 常见排序算法的java实现
- 常见排序算法(java实现)
- 常见排序算法(java实现)
- 六种常见排序算法Java实现
- 常见内排序算法的java实现
- 常见排序算法的Java实现
- 常见的排序算法,Java实现
- JAVA实现常见简单排序算法
- 常见排序算法及JAVA实现
- Java实现常见的排序算法
- javaScript学习笔记2---函数
- Github使用超详细图文攻略
- 欢迎使用CSDN-markdown编辑器
- 数据结构与算法经典80
- Appium_Python_Api文档
- Java实现常见排序算法
- 媒体查询
- ContentProvider 什么是URI
- Comparable接口
- lintcode-简单- Fizz Buzz 问题
- hdu 5748 && poj 2533 最长上升子序列(o(nlogn)做法)
- csdn如何转载别人的文章
- 前端开发规范——个人总结版
- 清除浮动的一些方案