#include<iostream>
#include <limits.h>
#include<cstring>
using namespace std;
struct element{
int weight;
int lchild,rchild,parent;
};
void select(element huffTree[],int n, int &s1,int &s2){
s1 = s2 = 0;
int min1 = INT_MAX; //min1为最小值,INI_MAX数值为2^31-1
int min2 = INT_MAX; //min2为次小值
//找最小值就默认为最大值
for(int i=0;i<n;i++){
if(huffTree[i].parent == -1)
{
//筛选没有父节点的最小值和次小权值的下标
if(huffTree[i].weight < min1){
//如果权值比最小值小,更新最小值
min2 = min1;
s2 = s1; //次小值是之前的最小值
min1 = huffTree[i].weight;
s1 = i; //更新后的最小值
}else if((huffTree[i].weight >= min1)&& (huffTree[i].weight < min2