杭电2019,输入一个数,然后插入到有序数组中,以下是我的程序,请问哪里有问题?

[复制链接]
查看11 | 回复1 | 2011-4-12 15:58:46 | 显示全部楼层 |阅读模式
#include
using namespace std;
int main()
{
int n,m;
int k,i;
int a[101];
while(scanf("%d %d",&n,&m)!=EOF&&(n!=0||m!=0))
{
for(i=0;i>a;
if((m>a)&&(mk;j--)

{

a[j+1]=a[j];

a[k]=m;

}

for(i=0;i0;i--)

{

a[i+1]=a;

a[0]=m;

}

for(i=0;i<n+1;i++)

cout<<a<<" ";
}
}
}
return 0;
}

回复

使用道具 举报

千问 | 2011-4-12 15:58:46 | 显示全部楼层
本人学的是java,套路有点不同。在a里是一个有序的排列,把m放入a[i+1]中自动排序一下Arrays.sort(a); 在数组a中就已经排序好了.非要自己模拟过程,反正你的a中是一个有序的排列,int temp=0;for(int i=0;i<n;i++){ if(m<a){temp=a;a=m;m=temp;}}时间和空间复杂度都是O(2*n)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行