JAVA实现排序算法(一):选择排序与插入排序
来源:互联网 发布:linux root 破解 编辑:程序博客网 时间:2024/06/09 14:29
JAVA实现排序算法(一):选择排序与插入排序
选择排序的算法内容
插入排序的算法内容
代码
package com.lx.sort;import java.util.Scanner;/** * @ProjectName: [MyAlgorithm] * @Package: [com.lx.sort] * @ClassName: [Example] * @Description: [排序] * @Author: [刘翔] * @CreateDate: [2017年11月12日 下午9:00:14] * @UpdateUser: [刘翔] * @UpdateDate: [2017年11月12日 下午9:00:14] * @UpdateRemark: [说明本次修改内容] * @Version: [v1.0] * */public class Sort { /** * @Description: TODO(选择排序) * @param @param args */ public static String[] SelectSort(String[] a) { int N = a.length; for (int i = 0; i < N; i++) { int min = i; for (int j = i + 1; j < N; j++) { if (less(a[j], a[min])) { min = j; } } exch(a, i, min); } return a; } /** * @Description: TODO(插入排序) * @param @param args */ public static String[] InsertSort(String[] a) { int N = a.length; for (int i = 1; i < N; i++) { for (int j = i; j > 0 && less(a[j], a[j - 1]); j--) { exch(a, j, j - 1); } } return a; } /** * @Description: TODO(判断v是否比w小) * @param @param args */ private static boolean less(String v,String w) { return v.compareTo(w) < 0; } /** * @Description: TODO(交换字符i和j的位置) * @param @param args */ private static void exch(String[] a,int i,int j) { String t = a[i]; a[i] = a[j]; a[j] = t; } /** * @Description: TODO(用于打印当前序列) * @param @param args */ public static void show(String[] a) { for (int i = 0; i < a.length; i++) { System.out.print(a[i] + " "); } System.out.println(); } /** * @Description: TODO(用于测试字符序列a[]是否有序) * @param @param args */ public static boolean isSorted(String[] a) { for (int i = 1; i < a.length; i++) { if (less(a[i],a[i-1])) { return false; } } return true; } /** * @Title: main * @Description: TODO(用于测试从键盘录入的一列字符是否有序) * @param @param args */ public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入要排序的字符序列,输入的字符序列格式为1,2,3...9"); String str = sc.nextLine(); String[] info = str.split(","); System.out.println("当前序列的顺序是:"); show(info); System.out.println("对当前序列进行排序"); //SelectSort(info); InsertSort(info); System.out.println("现在序列的排序是:"); show(info); if (isSorted(info)) { System.out.println("序列已经成功的进行了排序"); } else { System.out.println("序列排序失败"); } }}
运行结果
如图
阅读全文
1 0
- JAVA实现排序算法(一):选择排序与插入排序
- #.java实现排序算法:插入排序、选择排序、冒泡排序
- 排序算法一(冒泡排序、选择排序、插入排序)
- 排序算法一(冒泡排序、选择排序、插入排序)
- 排序算法一:冒泡排序,插入排序以及选择排序原理与MATLAB实现
- 排序(快排,冒泡,堆排序,插入排序,归并排序,选择排序)算法Java实现
- java实现冒泡排序,选择排序,插入排序算法详解
- Java实现选择排序、插入排序、希尔排序算法
- 简单排序Java实现(一):冒泡排序,选择排序,插入排序(原理及实现)
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,快速排序
- 算法系列(二)冒泡排序、选择排序、插入排序和希尔排序(Java实现)
- 冒泡排序、选择排序、插入排序、快速排序算法的时间性能分析(java实现)
- 排序算法之冒泡排序、选择排序、直接插入排序(java实现)
- 排序算法【java实现】(一)直接插入排序
- visual studio(VS2015)路径和工程属性设置
- 滚动具体的元素节点
- boost datetime 时间日期
- 哈夫曼树
- AngularJS表格的增删改查和其他操作
- JAVA实现排序算法(一):选择排序与插入排序
- 关于SpringBoot bean无法注入的问题(与文件包位置有关)改变自动扫描的包
- FastDFS学习笔记
- Android开发中比较常见的内存泄漏问题及解决办
- 用webview构建能打开微信支付宝支付、自动跳转域名的Android H5APP
- Android Studio 更改目录或者项目名称
- json与bson的区别
- NKOJ 3423 (NOI 2015) 软件包管理器 (树链剖分+线段树)
- 云计算参考架构几例