利用数组实现直接插入排序
来源:互联网 发布:万人网络信息有限公司 编辑:程序博客网 时间:2024/06/16 02:08
假设待排序数据存放在数组A[1..n]中,则A[1]可看作是一个有序序列,让i从2开始,依次将A[i]插入到有序序列A[1..i-1]中,A[n]插入完毕则整个过程结束,A[1..n]成为有序序列。
排序过程示例 (用【】表示有序序列)
待排序数据: 【25】 54 8 54 21 1 97 2 73 15 (n=10)
i=2: 【25 54】 8 54 21 1 97 2 73 15
i=3: 【8 25 54】 54 21 1 97 2 73 15
i=4: 【8 25 54 54】 21 1 97 2 73 15
i=5: 【8 21 25 54 54】 1 97 2 73 15
i=6: 【1 8 21 25 54 54】 97 2 73 15
i=7: 【1 8 21 25 54 54 97】 2 73 15
i=8: 【1 2 8 21 25 54 54 97】 73 15
i=9: 【1 2 8 21 25 54 54 73 97】 15
i=10: 【1 2 8 15 21 25 54 54 73 97】 排序结束
package repeat_job1;import java.util.Scanner;public class Str_Insert_Sort {public static void main(String[] args){Scanner reader=new Scanner(System.in);System.out.println("请输入n:");int n=reader.nextInt();int i,j,index=0,insert_num=0;int a[]=new int[n];System.out.println("请输入数组元素:");for(i=0;i<n;i++){a[i]=reader.nextInt();}reader.close();for(i=0;i<n-1;i++){for(j=0;j<=i;j++){if(a[j]>a[i+1]){index=j;insert_num=a[i+1];for(j=i+1;j>index;j--){a[j]=a[j-1];}a[index]=insert_num;}}}for(i=0;i<n;i++){System.out.print(" "+a[i]);}}}
面向对象思想:
package repeat_job1;public class insert_Sort {private static int i,j;public insert_Sort(){}public static void str_Insert_Sort(int n,int []a){int index=0,insert_num=0;for(i=0;i<n-1;i++){for(j=0;j<=i;j++){if(a[j]>a[i+1]){index=j;insert_num=a[i+1];for(j=i+1;j>index;j--){a[j]=a[j-1];}a[index]=insert_num;}}}}}
import java.util.Scanner;import repeat_job1.insert_Sort;public class Test4 {public static void main(String[] args) {// TODO Auto-generated method stubScanner reader=new Scanner(System.in);System.out.println("请输入n:");int n=reader.nextInt();int i;int a[]=new int[n];System.out.println("请输入数组元素:");for(i=0;i<n;i++){a[i]=reader.nextInt();}reader.close();insert_Sort.str_Insert_Sort(n, a);//直接插入排序你for(i=0;i<n;i++){System.out.print(" "+a[i]);}}}
- 利用数组实现直接插入排序
- 直接插入排序。数组下标实现。
- 直接插入排序(数组实现)
- java数组直接插入排序
- 基于数组的直接插入排序算法和代码实现
- 插入排序--直接插入排序[Java实现]
- 插入排序----直接插入排序----java实现
- 直接插入排序java实现
- 数据结构--直接插入排序实现
- Java实现直接插入排序
- 实现直接插入排序算法
- java实现直接插入排序
- 直接插入排序---java实现
- java实现直接插入排序
- C++实现直接插入排序
- JS实现直接插入排序
- 直接插入排序 :Java实现
- 直接插入排序----java实现
- 李滔:搜狐基于Spark的新闻和广告推荐实战
- a.ou、coff、elf三种文件格式
- 学习Struts2_0400_path
- 矩阵论:同一个线性变换在新基、旧基下表示成不同矩阵的关系
- Spring调度 Quartz实现
- 利用数组实现直接插入排序
- 在struts2中防止表单的重复的提交
- 没有躲过的坑--map查找结果处理
- 树莓派安装Linux操作系统
- STM32学习第二天---初步了解了一些方便的位运算
- html 界面 添加 百度地图
- 数组的基本操作(五)
- 还是操作系统试题
- 从大数据菜鸟走上大师的历程 Scala 第六讲 Map Zip