唉,课程设计,没办法,还是花了点时间写咯。。纪念一下~
#include<bits/stdc++.h>
using namespace std;
int cnt;
set<string> s; //建立二叉排序树
set<string>::iterator it;
map<string,int> m; //歌手与票数以hash表的形式存储
map<string,string> mm; //歌手与主打歌曲通过hash映照
struct P
{
string name, song;
int num;
}p[10010];
bool cmp(P c, P d) {return c.num > d.num;}
void Sort() //按投票数排序
{
cnt = 0;
for(it=s.begin(); it!=s.end(); it++)
{
p[cnt].name = (*it);
p[cnt].num = m[(*it)];
p[cnt++].song = mm[(*it)];
}
sort(p,p+cnt,cmp);
}
void Solve_1() //给喜欢的歌手投票
{
string name, song;
printf("请输入歌手名字:");
cin >> name;
if(mm[name] == "")
{
printf("请输入歌手的主打歌曲:");
cin >> song;
mm[name] = song; //利用hash表每个歌手对应着其主打歌曲
}
s.insert(name);
m[name]&#