有趣的排序
来源:互联网 发布:统计年鉴数据不一致 编辑:程序博客网 时间:2024/05/23 01:16
[编程题] 有趣的排序
时间限制:1秒
空间限制:32768K
度度熊有一个N个数的数组,他想将数组从大到小排好序,但是萌萌的度度熊只会下面这个操作:
任取数组中的一个数然后将它放置在数组的最后一个位置。
问最少操作多少次可以使得数组从小到大有序?
任取数组中的一个数然后将它放置在数组的最后一个位置。
问最少操作多少次可以使得数组从小到大有序?
输入描述:
首先输入一个正整数N,接下来的一行输入N个整数。(N <= 50, 每个数的绝对值小于等于1000)
输出描述:
输出一个整数表示最少的操作次数。
输入例子:
419 7 8 25
输出例子:
2
等到原来的数组剩下的数有序,就完成了排序。
#include<stdio.h>#include<iostream>using namespace std;int max1(int a[],int n,int &index){ int i; int max = a[0]; index = 0; for(i=1;i<n;i++){ if(a[i]>max){ max = a[i]; index = i; } } return max;}int can(int a[],int n){ int flag =1,i; int cur = a[0]; for(i=1;i<n;i++){ if(a[i]==-1001){ continue;} if(a[i]>cur){ cur = a[i]; } if(a[i]<cur){ flag = 0; } } return flag;}int main(){ int n,i,j,k; int temp; int time =0; int index; int max; int a[102]; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",&a[i]); } for(i=n;i<2*n;i++){ a[i]=0; } while(can(a,n)==0){ max = max1(a,n,index); temp = a[index]; a[index] =-1001; a[2*n-time-1] =temp; time++; } printf("%d",time); return 0;}
0 0
- 有趣的一种排序
- 几个有趣的排序
- 牛客网 有趣的排序
- 有趣的排序
- 【百度】有趣的排序
- c++有趣的排序
- [百度]有趣的排序
- 有趣的排序
- 有趣的排序
- 有趣的排序
- 有趣的排序-百度-排序
- 有趣直观的排序算法
- 有趣的冒泡排序实现
- 冒泡排序的有趣使用
- [编程题] 有趣的排序
- 【算法题】有趣的排序
- 校招真题 百度 有趣的排序
- 一个有趣的排序算法视频
- RIL 机制---消息RILJ中的处理
- POJ1067 HDU1527 取石子游戏
- Java Web MVC简单实现
- 软工文档总结
- 卡马克在光线追踪,id tech6,射线跟踪,控制台,物理学等的谈话 第一部分
- 有趣的排序
- HDU2516 取石子游戏
- 信息系统项目管理师考试基本信息说明
- 欢迎使用CSDN-markdown编辑器
- 【Java深入】HashMap的实现原理与源码剖析(一)
- 超大纹理传输
- 说下系统封装
- Windows下搭建go语言开发环境 以及 开发IDE (附下载链接)
- 利用qemu搭建arm cortex a9开发环境以及gdb调试