📄 9-2.txt
字号:
树形选择排序源程序代码
#include <stdio.h>
#define max 100
struct rec
{
int key;
int point;
};
typedef struct rec sqlist[max];
void treesort(sqlist r,int d[],int n,int t)
{
int i,m,k;
int a,b;
for (i = int(n/2);i>=1;i--)
{
a = r[2*i].key;
b = r[2*i+1].key;
k = r[2*i+1].point;
m = r[2*i].point;
if (a<b)
{
r[i].key = a;
r[i].point = m;
}
else
{
r[i].key = b;
r[i].point = k;
}
r[r[1].point].key = 32000;
d[t] = r[1].key;
}
}
//------------main---------------------
void main()
{
sqlist s;
int d[21];
int t,n,i;
printf("input the number \n");
scanf("%d",&n);
for(i = 1;i<=n; i++)
{
scanf("%d",&s[i].key);
}
for (i = n;i>=1;i--)
{
s[n+i-1].key = s[i].key;
s[n+i-1].point = n+i-1;
}
for (t = 1;t<=n;t++) treesort(s,d,2*n-1,t);
for(t = 0;t<=n-1;t++)
{
printf("%d\n",d[t]);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -