JAVA实现排序算法(一):选择排序与插入排序
2017-11-22 21:55
597 查看
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.n 4000 extLine(); 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("序列排序失败"); } } }
运行结果
如图相关文章推荐
- Java实现的各种排序算法(插入排序、选择排序算法、冒泡排序算法)
- 必须知道的八大种排序算法【java实现】(二) 选择排序,插入排序,希尔算法【详解】
- Java 常用排序算法实现--快速排序、插入排序、选择、冒泡
- java实现各种排序算法(包括冒泡排序,选择排序,插入排序,快速排序(简洁版))及性能测试
- 几种常用的排序算法的分析及java实现(希尔排序,堆排序,归并排序,快速排序,选择排序,插入排序,冒泡排序)
- 必须知道的八大种排序算法【java实现】(二) 选择排序,插入排序,希尔算法【详解】
- 元素排序几种常用的排序算法的分析及java实现(希尔排序,堆排序,归并排序,快速排序,选择排序,插入排序,冒泡排序)
- Java 常用排序算法实现--快速排序、插入排序、选择、冒泡
- 必须知道的八大种排序算法【java实现】(二) 选择排序,插入排序,希尔算法【详解】
- [排序算法]:Java实现选择排序和插入排序
- 几种常用的排序算法的分析及java实现(希尔排序,堆排序,归并排序,快速排序,选择排序,插入排序,冒泡排序)
- java 实现 冒泡排序、选择排序、插入排序。
- java 实现 冒泡排序、选择排序、插入排序。
- 几种常见排序算法之Java实现(插入排序、希尔排序、冒泡排序、快速排序、选择排序、归并排序)
- java实现冒泡排序,选择排序,插入排序,快速排序(简洁版)及性能测试
- 排序算法复习(Java实现):插入,冒泡,选择,Shell,快速排序, 归并排序,堆排序,桶式排序,基数排序
- java类实现数组的五种排序 冒泡排序、选择排序、插入排序、希尔排序、数组排序
- 【转】排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 各种排序算法实现——基数排序、归并排序、插入排序、冒泡排序、选择排序、快速排序、堆排序、希尔排序
- Java分别实现冒泡排序、插入排序、快速排序、选择排序、交换排序