📄 二分排序法~.txt
字号:
二分排序法~
int fun(int *num,int l,int h,int x)/*二分查找*/
{
int mid;
while(l<=h)
{
mid=(l+h)/2;
if(num[mid]<x&&x<=num[mid+1])
return (mid+1);
else if(num[mid]<x)
l=mid+1;
else
h=mid-1;
}
return h;
}
void sort(int *num,int n)/*二分排序*/
{int i,j,t,x;
for(i=1;i<n;i++)
{
x=num[i];
if(num[i]<num[0])
t=0;
else
t=fun(num,0,i,x);
for(j=i;j>t;j--)
num[j]=num[j-1];
num[t]=x;
}
}
void main()
{
int num[10],i;
clrscr();
printf("please input 10 num: ");
for(i=0;i<10;i++)
scanf("%d",&num[i]);
sort(num,10);
for(i=0;i<10;i++)
printf("%6d",num[i]);
getch();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -