98資結2(1)答案
無聊把程式打一打讓他跑 應該沒打錯才是
考試沒寫就是了 太麻煩的感覺 無聊想對答案可以對
答案:4 15 12 9 8 10 5 6 3 1
code如下:
#include<stdio.h>
#include<stdlib.h>
void foo(int *a,int r,int n)
{
int k=a[r];
int j;
for (j=2*r;k<=n;j*=2)
{
if (j<n)
if (a[j]<a[j+1]) j++;
if (k>=a[j]) break;
a[j/2]=a[j];
}
a[j/2]=k;
}
int b[10]={4,7,1,5,15,12,9,6,3,8};
int n=10;
int main(void)
{
int i;
for (i=n/2;i>=1;i--)
foo(b,i,n);
for (i=0;i<10;i++)
printf("%d\t",b[i]);
system("pause");
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.161.148.235
推
03/17 10:40, , 1F
03/17 10:40, 1F
→
03/17 11:13, , 2F
03/17 11:13, 2F
推
03/17 13:29, , 3F
03/17 13:29, 3F
→
03/17 13:30, , 4F
03/17 13:30, 4F
→
03/17 13:31, , 5F
03/17 13:31, 5F
→
03/17 23:47, , 6F
03/17 23:47, 6F
推
03/18 02:20, , 7F
03/18 02:20, 7F
推
03/18 10:10, , 8F
03/18 10:10, 8F
推
03/18 23:03, , 9F
03/18 23:03, 9F
→
03/18 23:04, , 10F
03/18 23:04, 10F
→
03/18 23:05, , 11F
03/18 23:05, 11F
→
03/18 23:07, , 12F
03/18 23:07, 12F
→
03/18 23:23, , 13F
03/18 23:23, 13F