java 几种基础算法的实现 (五)
来源:互联网 发布:java备忘录实现思路 编辑:程序博客网 时间:2024/05/29 13:42
冒泡排序
选择排序
插入排序
import java.util.Arrays;
/** * Created by gy on 2017/8/21. * email : guoyang000111@163.com * 数组排序法 */public class SelectSort { public static void main(String[] args) { int a[]={5,2,8,4,1,9,16}; System.out.println("冒泡排序法:"+Arrays.toString(bubble(a))); int b[]={5,2,8,4,1,9,16}; System.out.println("选择排序法"+Arrays.toString(select(b))); int c[]={5,2,8,4,1,9,16}; System.out.println("插入排序法"+Arrays.toString(insert(c))); System.out.println("位置:"+find(a,8)); } /** * 冒泡法 * @param a 排序数组 * @return 计算完的数组 */ public static int [] bubble(int a[]){ for(int i=0;i<a.length-1;i++){ for(int j=0;j<a.length-i-1;j++){ if(a[j]<a[j+1]){ int temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } return a; } /** * 选择排序法 优于冒泡法 * @param a 排序数组 * @return 计算完的数组 */ public static int [] select(int a[]){ for(int i=0;i<a.length-1;i++){ int min=i; for(int j=i+1;j<a.length;j++){ if(a[min]>a[j]){ min=j; } } if(min!=i){ int temp=a[i]; a[i]=a[min]; a[min]=temp; } } return a; } /** * 插入排序法 优于前两种 * @param a 排序数组 * @return 计算完的数组 */ public static int [] insert(int a[]){ int compare; for(int mark=1;mark<a.length;mark++){ int temp =a[mark]; compare=mark; while(compare>0&&a[compare-1]>temp){ a[compare]=a[compare-1]; compare--; } a[compare]=temp; } return a; } /** * 二分法查找,前提是数组已经有序 小到大的 * @param a 由小到大的有序数组 * @param value 需要找的值 * @return */ public static int find(int a[],int value){ int start=0; int end=a.length-1; while(end>=start){ int index =(start + end )/2; if(a[index]==value){ return index; }else if(a[index]>value){ end=index-1; }else{ start = index+1; } } return a.length; }}
阅读全文
0 0
- java 几种基础算法的实现 (五)
- 用Java实现几种常见的排序算法-Java基础-Java-编程开发
- java的几种算法的实现
- 五种排序算法的JAVA 实现
- Java中的几种算法的实现
- Java中的几种算法的实现
- Java实现的几种排序算法
- 几种常见算法的JAVA实现
- 几种sort算法的Java实现
- 几种排序算法的Java实现
- 黑马程序员——Java基础语法:几种简单的排序算法的实现
- 用Java实现几种常见的排序算法
- 用Java实现几种常见的排序算法
- 用Java实现几种常见的排序算法
- 有关几种排序算法的改写(JAVA实现)
- 用Java实现几种常见的排序算法
- 用Java实现几种常见的排序算法
- 用Java实现几种常见的排序算法
- 【caffe】在windows下输出训练caffemodel的log日志并画出accuracy和loss曲线
- “adb不是内部或外部命令,也不是可运行的程序或批量文件“
- Python中的Scapy初探之四--DNS中毒
- kubernetes学习记录(11)——深入学习Service
- Spannable对textview首行缩进
- java 几种基础算法的实现 (五)
- ARP扫描工具arp-scan
- python
- python对日志按天分割
- less要注意的事项
- yum install的时候提示:Loaded plugins: fastestmirror
- Codeforces 676D Theseus and labyrinth 模拟+bfs
- 人工智能
- 论一个博客公开的技术含量