?? 15 half_sort.cpp
字號:
#include <stdio.h>
int a[100],n;
void sort(){
int i,j,t;
int m,low,high;
for(i=2;i<n;i++){
t=a[i];
low = 1; high=i-1;
while (low<=high) {
m = (low+high)/2; // 折半
if (a[i]<=a[m])
high = m-1; // 插入點在低半區
else low = m+1; // 插入點在高半區
}
for ( j=i-1; j>=high+1; --j ) a[j+1]=a[j];
a[j+1]=t;
}
}
void main(){
int b,i;
i=1;
a[0]=1;
printf("請輸入數字(0為結束)\n");
while(a[i-1]!=0){
scanf("%d",&b);
a[i]=b;
i++;
}
n=i-1;
sort();
for(i=1;i<n;i++){
printf("%d ",a[i]);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -