题意:

输入一个正整数N(<=100),接着输入两行N个数,表示原数组和经过一定次数排序后的数组。判断是经过插入排序还是堆排序并输出再次经过该排序后的数组(数据保证答案唯一)。

AAAAAccepted code:

 #define HAVE_STRUCT_TIMESPEC
#include<bits/stdc++.h>
using namespace std;
int a[],b[];
int c[][];
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int n;
cin>>n;
for(int i=;i<=n;++i)
cin>>a[i];
for(int i=;i<=n;++i)
cin>>b[i];
int pos=;
for(int i=;i<n;++i)
if(b[i]>b[i+]){
pos=i;
break;
}
int pos2=;
for(int i=pos+;i<=n;++i)
if(a[i]!=b[i]){
pos2=i;
break;
}
if(!pos2){
cout<<"Insertion Sort\n";
int flag=,mn=b[pos+];
int ppos=;
for(int i=;i<=n;++i)
if(b[i]>mn){
ppos=i;
break;
}
for(int i=pos+;i>ppos;--i)
b[i]=b[i-];
b[ppos]=mn;
for(int i=;i<=n;++i){
cout<<b[i];
if(i<n)
cout<<" ";
}
}
else{
cout<<"Heap Sort\n";
int ppos=;
sort(a+,a++n);
for(int i=n;i;--i)
if(b[i]!=a[i]){
ppos=i;
break;
}
int mx=,flag=;
for(int i=;i<=ppos;++i)
if(b[i]>mx){
mx=b[i];
flag=i;
}
swap(b[flag],b[ppos]);
int s=;
while(s<ppos){
if(b[s*]>b[s]&&b[s*+]>b[s]&&ppos>s*+){
if(b[s*]>b[s*+]){
swap(b[s],b[s*]);
s=s*;
}
else{
swap(b[s],b[s*+]);
s=s*+;
}
}
else if(b[s*+]>b[s]&&ppos>s*+){
swap(b[s],b[s*+]);
s=s*+;
}
else if(b[s*]>b[s]&&ppos>s*){
swap(b[s],b[s*]);
s=s*;
}
if(s*>=ppos)
break;
}
for(int i=;i<=n;++i){
cout<<b[i];
if(i<n)
cout<<" ";
}
}
return ;
}

最新文章

  1. SQL 2008无法连接的解决办法
  2. JVM 基础知识
  3. PHP 二维数组根据相同的值进行合并
  4. Codeforces Round #378 (Div. 2) D. Kostya the Sculptor map+pair
  5. doctype声明、浏览器的标准、怪异等模式
  6. 轻松学习RSA加密算法原理 (转)
  7. retire
  8. JAVA课程设计-计算器(201521123028 李家俊)
  9. 开源Spring解决方案--lm.solution
  10. 什么时候App委托会收到App进程被结束的消息
  11. 【Netty源码学习】ServerBootStrap
  12. 基于LBS的六边形热力图算法
  13. Python之Unittest和Requests库详解
  14. CNN算法解决MNIST数据集识别问题
  15. poj2442 堆应用
  16. javascript中的高阶函数, 和 类定义Function, 和apply的使用
  17. ace后台管理系统扁平化框架
  18. splitChunks. cacheGroups 里面的 maxInitialRequests 含义
  19. Selenium学习笔记
  20. 面试题-Java设计模式举例

热门文章

  1. D3新学习
  2. STM32------SYSCLK
  3. linux网卡
  4. socket 简单实现HTTP服务器
  5. 番外:克隆本地PDB中其他参数和子句的说明
  6. 创建一个Java Web项目,获取POST数据并显示
  7. codeforces 1288C. Two Arrays(dp)
  8. JS 抖动函数封装
  9. Harmonic Number (II) 数学找规律
  10. Java爬虫学习(1)之爬取新浪微博博文