数据结构复习之–“插入排序”-JAVA实现
2017-09-01 20:50
344 查看
数据结构复习之–“插入排序”-JAVA实现
菜鸟中的菜鸟一枚,面临找工作,复习下数据结构,写的插入排序算法记录一下,每天写一点,不断积累吧!import java.util.Scanner; /** * * @author DL * 数据结构复习之插入排序练习程序 * */ public class SortTest { public static void main(String [] args){ Scanner sc = new Scanner(System.in); int totalNums = sc.nextInt();//读入待排序的数据个数 //为读入的数据分配空间,多分配一个,其中第一个位置inputData[0]作为哨兵 int [] inputData = new int[totalNums+1]; for(int i=1;i<=totalNums;i++){ inputData[i]=sc.nextInt(); } show(inputData); insertSort(inputData); show(inputData); } /** * 插入排序程序 * @param array 待排序数组 */ static void insertSort(int [] array){ for (int i = 2; i < array.length; i++) { array[0]=array[i];//将待比较的元素拷贝到array[0]位置,作为哨兵 int j; for(j=i-1;j>0;j--){ //从选中元素开始左边第一个进行比较,直到找到一个比它大的元素,跳出循环 if(array[0]<array[j]){ array[j+1]=array[j];//比哨兵小的元素位置向后移动 }else{ break; } } //代码精简版 /*for(j=i-1;array[0]<array[j];j--){ array[j+1]=array[j]; }*/ array[j+1]=array[0];//将当前待比较元素插入到找到的位置 } } /** * 输出数组元素 * @param array 待显示数组 */ static void show(int [] array){ for (int i = 1; i <array.length; i++) { System.out.print(array[i]+" "); } System.out.println("\n"); } }
相关文章推荐
- 复习基础-数据结构-Java实现栈链结构
- 利用java实现数据结构中常用的插入排序和快速排序算法
- 利用java实现数据结构中常用的插入排序和快速排序算法
- 数据结构复习之–“Shell排序”-JAVA实现
- 利用java实现数据结构中常用的插入排序和快速排序算法
- 数据结构--排序系列(插入排序,希尔排序,堆排序)Java代码实现
- 数据结构与算法——插入排序(Java实现)
- 数据结构复习:栈-Java数组实现
- 利用java实现数据结构中常用的插入排序和快速排序算法
- 【数据结构】Java实现各类经典排序算法——插入排序、希尔排序
- 数据结构复习之–“选择排序”-JAVA实现
- 数据结构-插入排序 java实现
- 数据结构复习--java实现单链表基本操作
- 利用java实现数据结构中常用的插入排序和快速排序算法
- 数据结构复习之–“2路归并排序”-JAVA实现
- 数据结构复习之–“堆排序”-JAVA实现
- 算法和数据结构-选择排序、插入排序及希尔排序 java实现
- 数据结构复习:队列-Java数组实现
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- Java中常用数据结构的实现类 Collection和Map