经典指数          
原因
2582
浏览数
0
收藏数
 

根据维基百科的定义: 插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确 的位置。如此迭代直到全部元素有序。 归并排序进行如下迭代操作:首先将原始序列看成N个只包含1个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩 下1个有序的序列。 现给定原始序列和由某排序算法产生的中间序列,请你判断该算法究竟是哪种排序算法? 输入描述: 输入在第一行给出正整数N (空格分隔。 输出描述: 首先在第1行中输出“Insertion Sort”表示插入排序、或“Merge Sort”表示归并排序;然后在第2行中输出用该排序算法再迭代一轮的结果序列。题目保证每组测试的结果是唯一的。数字间以空格分隔,且行末不得有多余空格。 示例1 输入 103 1 2 8 7 5 9 4 6 01 2 3 7 8 5 9 4 6 0 输出 Insertion Sort1 2 3 5 7 8 9 4 6 0

     举报   纠错  
 
切换
1 个答案
import java.util.Scanner; import java.util.Arrays; public class No1025 { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int[] a = new int[n];//原始的 int[] b = new int[n];//部分排序过的 for(int i = 0;ib[i+1]){ index = i+1;//从i+1这里开始无序 break; } } for(int i = index;i0;j--){ if(b[j]n?n:i+index; Arrays.sort(b,i,next); } } System.out.println(type); for(int i = 0;i
 
切换
撰写答案
扫描后移动端查看本题