解题思路:
注意事项:
参考代码:
#include<stdio.h>
int main()
{
int a[10000];
int m,n,i,j,b;
int high,low;
scanf("%d",&m);
for(i=0;i<m;i++)
{
scanf("%d",&a[i]);
}
for(i=1;i<m;i++)
{
high=i-1;
low=0;
n=a[i];
while(low<=high)
{
b=(low+high)/2;
if(a[b]>n) high=b-1;
else low=b+1;
}
for(j=i-1;j>=high+1;j--)
{
a[j+1]=a[j];
}
a[high+1]=n;
}
for(i=0;i<m;i++)
{
printf("%d ",a[i]);
}
return 0;
}
0.0分
1 人评分
P1001 (C语言代码)浏览:801 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:575 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:619 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:661 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:678 |
printf基础练习2 (C语言代码)浏览:618 |
母牛的故事 (C语言代码)浏览:945 |
格式化数据输出 (C语言代码)浏览:822 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:403 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:555 |