/*把数组最开始的若干个元素搬到数组的末尾,称之为数组的旋转。输入一个递增数组的一个旋转,输出旋转数组的
最小元素。
e.g. {3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1*/
#include<iostream>
#include<cstring>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
int comp(const void* a,const void* b)
{
return *(int*)a-*(int*)b;
}
int main()
{
int s[100];
int ndata,num,i;
//方法一:读入带空格整数
/* cin>>ndata;
cout<<ndata<<endl;
for(i=0;i<ndata*2-1;i++)
{
cin>>num;
char c=getchar();
s[i++]=num;
}
s[i]='\0';
for(i=0;i<ndata*2-1;i=i+2)
{
cout<<s[i]<<" ";
}
*/
//方法二:读入未知个带空格的整数
num=0;
for(i=0;;i++)
{
cin>>s[i];
num++;
if(getchar()=='\n')
break;
}
/* for(i=0;i<num;i++)
cout<<s[i]<<" ";
*/
cout<<"\n\n排序后:";
qsort(s,num,sizeof(int),comp);
for(i=0;i<num;i++)
cout<<s[i]<<" ";
cout<<"\n\n最小元素为:"<<s[0]<<endl;
return 0;
}
最小元素。
e.g. {3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1*/
#include<iostream>
#include<cstring>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
int comp(const void* a,const void* b)
{
return *(int*)a-*(int*)b;
}
int main()
{
int s[100];
int ndata,num,i;
//方法一:读入带空格整数
/* cin>>ndata;
cout<<ndata<<endl;
for(i=0;i<ndata*2-1;i++)
{
cin>>num;
char c=getchar();
s[i++]=num;
}
s[i]='\0';
for(i=0;i<ndata*2-1;i=i+2)
{
cout<<s[i]<<" ";
}
*/
//方法二:读入未知个带空格的整数
num=0;
for(i=0;;i++)
{
cin>>s[i];
num++;
if(getchar()=='\n')
break;
}
/* for(i=0;i<num;i++)
cout<<s[i]<<" ";
*/
cout<<"\n\n排序后:";
qsort(s,num,sizeof(int),comp);
for(i=0;i<num;i++)
cout<<s[i]<<" ";
cout<<"\n\n最小元素为:"<<s[0]<<endl;
return 0;
}