关注
#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn = 110;
int origin[maxn], tempOri[maxn], changed[maxn];
int n;
bool isSame(int a[], int b[]){
for(int i = 0; i < n; i++){
if(a[i] != b[i]) return false;
}
return true;
}
void showArray(int a[]){
for(int i = 0; i < n; i++){
printf("%d",a[i]);
if(i < n-1) printf(" ");
}
}
bool insertSort(){
bool flag = false;
for(int i = 1; i < n; i++){
if(i != 1 && isSame(tempOri, changed)){
flag = true;
}
int temp = tempOri[i], j = i;
while(j > 0 && tempOri[j - 1] > temp){
tempOri[j] = tempOri[j - 1];
j--;
}
tempOri[j] = temp;
if(flag && !isSame(tempOri, changed))
return true;
}
return false;
}
void mergeSort(){
bool flag = false;
for(int step = 2; step / 2 <= n; step *= 2){
if(step != 2 && isSame(tempOri, changed)){
flag =true;
}
for(int i = 0; i < n; i += step){
sort(tempOri + i, tempOri + min(step + i, n));
}
if(flag){
showArray(tempOri);
return;
}
}
}
int main(){
scanf("%d", &n);
for(int i = 0; i < n; i++){
scanf("%d", &origin[i]);
tempOri[i] = origin[i];
}
for(int i = 0; i < n; i++){
scanf("%d", &changed[i]);
}
if(insertSort()){
printf("Insertion Sort\n");
showArray(tempOri);
}else{
printf("Merge Sort\n");
for(int i = 0; i < n; i++){
tempOri[i] = origin[i];
}
mergeSort();
}
return 0;
}
查看原帖
点赞 评论
相关推荐
12-21 15:20
重庆邮电大学 Java 点赞 评论 收藏
分享
Wish_Me_Go...:不说具体部门/业务/团队氛围/薪资,大伙怎么给你选?难道光看快手和滴滴这两个关键词吗,那你还不如掷骰子选到哪个去哪个 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 2025年终总结 #
170698次浏览 2873人参与
# 找工作,行业重要还是岗位重要? #
85155次浏览 1685人参与
# 职场上哪些行为很加分? #
306480次浏览 3448人参与
# 大家每天通勤多久? #
69441次浏览 440人参与
# 你面试体验感最差/最好的公司 #
16255次浏览 265人参与
# 实习的内耗时刻 #
210857次浏览 1537人参与
# 一人说一个提前实习的好处 #
9760次浏览 195人参与
# 互联网行业现在还值得去吗 #
46829次浏览 351人参与
# 今年你最想重开的一场面试是? #
3641次浏览 65人参与
# 秋招落幕,你是He or Be #
10333次浏览 212人参与
# 重来一次,你会对开始求职的自己说 #
5708次浏览 143人参与
# 实习没事做是福还是祸? #
15981次浏览 244人参与
# 反问环节如何提问 #
126324次浏览 2663人参与
# 礼物开箱Plog #
601次浏览 21人参与
# 团建是“福利”还是是 “渡劫” #
6813次浏览 145人参与
# 我的第一份实习怎么找的 #
208459次浏览 1827人参与
# 工作中听到最受打击的一句话 #
6000次浏览 106人参与
# 比亚迪工作体验 #
74359次浏览 281人参与
# 你小心翼翼的闯过多大的祸? #
10732次浏览 156人参与
# 大厂VS公务员你怎么选 #
74380次浏览 681人参与
