二分排序法~.txt
来自「其中一部分是自己写得,一部分是摘录的,希望站长能批准,我以后一定多多努力上传!」· 文本 代码 · 共 44 行
TXT
44 行
二分排序法~
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 + =
减小字号Ctrl + -
显示快捷键?