ADD file via upload

master
pfka9ogtp 4 years ago
parent 57d523a756
commit bfb0e458c8

@ -0,0 +1,87 @@
#include <stdio.h>
int h[ 101];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŷѵ<C5B6><D1B5><EFBFBD><EFBFBD><EFBFBD>
int n;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B4A2><EFBFBD><EFBFBD>Ԫ<EFBFBD>صĸ<D8B5><C4B8><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD>ǶѵĴ<D1B5>С
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD>ص<EFBFBD>ֵ
void swap(int x,int y)
{
int t;
t=h[ x];
h[ x]=h[ y];
h[ y]=t;
}
//<2F><><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void siftdown(int i) //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD>i<EFBFBD><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFB4AB>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD>ӶѵĶ<D1B5><C4B6>ʼ<E3BFAA><CABC><EFBFBD>µ<EFBFBD><C2B5><EFBFBD>
{
int t,flag=0;//flag<61><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD>
//<2F><>i<EFBFBD><69><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>ӵ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>
while( i*2<=n && flag==0 )
{
//<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵĹ<D3B5>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>t<EFBFBD><74>¼ֵ<C2BC><D6B5>С<EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD>
if( h[ i] > h[ i*2] )
t=i*2;
else
t=i;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҷ<EFBFBD><D2B6>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD><C2A3>ٶ<EFBFBD><D9B6>Ҷ<EFBFBD><D2B6>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(i*2+1 <= n)
{
//<2F><><EFBFBD><EFBFBD>Ҷ<EFBFBD><D2B6>ӵ<EFBFBD>ֵ<EFBFBD><D6B5>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD>С<EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD>
if(h[ t] > h[ i*2+1])
t=i*2+1;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD>˵<EFBFBD><CBB5><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD><EFBFBD>бȸ<D0B1><C8B8><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>
if(t!=i)
{
swap(t,i);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǣ<EFBFBD>ע<EFBFBD><D7A2>swap<61><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>Լ<EFBFBD><D4BC><EFBFBD>д
i=t;//<2F><><EFBFBD><EFBFBD><69>ղ<EFBFBD><D5B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><C4B6>ӽ<EFBFBD><D3BD>ı<EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD>
}
else
flag=1;//<2F><><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>ǰ<EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD>㶼ҪС<D2AA>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ڽ<EFBFBD><DABD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
}
}
//<2F><><EFBFBD><EFBFBD><EFBFBD>ѵĺ<D1B5><C4BA><EFBFBD>
void creat()
{
int i;
//<2F><><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ҷ<EFBFBD><D2B6><EFBFBD><E3B5BD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ν<EFBFBD><CEBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>
for(i=n/2;i>=1;i--)
{
siftdown(i);
}
}
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>
int deletemax()
{
int t;
t=h[ 1];//<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>ֵ
h[ 1]=h[ n];//<2F><><EFBFBD>ѵ<EFBFBD><D1B5><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>㸳ֵ<E3B8B3><D6B5><EFBFBD>Ѷ<EFBFBD>
n--;//<2F>ѵ<EFBFBD>Ԫ<EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD>1
siftdown(1);//<2F><><EFBFBD>µ<EFBFBD><C2B5><EFBFBD>
return t;//<2F><><EFBFBD><EFBFBD>֮ǰ<D6AE><C7B0>¼<EFBFBD>Ķѵö<D1B5><C3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
}
int main()
{
int i,num;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD>
scanf("%d",&num);
for(i=1;i<=num;i++)
scanf("%d",&h[ i]);
n=num;
//<2F><><EFBFBD><EFBFBD>
creat();
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD>أ<EFBFBD><D8A3><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>n<EFBFBD>Σ<EFBFBD><CEA3><EFBFBD>ʵҹ<CAB5><D2B9><EFBFBD>ǴӴ<C7B4>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
for(i=1;i<=num;i++)
printf("%d ",deletemax());
getchar();
getchar();
return 0;
}
Loading…
Cancel
Save