插入排序(java机试题)

来源:互联网 发布:手机数据还可以找回吗 编辑:程序博客网 时间:2024/05/11 05:32

题目要求:输入一个数组,要求用插入排序从小到大排序并输出。

java实现如下:

import java.util.Scanner;public class BubbleSort{/** * 插入排序 */public static void main(String[] args){Scanner str = new Scanner(System.in);String[] strlist = str.nextLine().split(" ");//这里想获得字符串数组,从而获得输入数值的个数int[] list = new int[strlist.length];//因为java中数组需要在使用前给定大小,大小从字符串数组获得for (int i = 0; i < strlist.length; i++){list[i] = Integer.parseInt(strlist[i]);}insertSort(list);for (int e : list){System.out.print(e + " ");}}//插入排序public static void insertSort(int[] list){for (int i = 1; i < list.length; i++){int currentElement = list[i];int k;//在外面定义的原因是要在循环外使用该变量for (k = i - 1; k >= 0 && list[k] > currentElement; k--){list[k + 1] = list[k];}list[k + 1] = currentElement;}}}