当前位置:首页 » 操作系统 » 数据结构与算法代码

数据结构与算法代码

发布时间: 2023-06-14 12:02:42

① 数据结构与算法实验代码

#include <cstdio>

int gold[225],medal[225],population[225];
int list[10];
int fir = 0;//用来判断是否是第一个元素用的
void printresult(int check_number,int n);
int main()
{
int n,m;

scanf("%d%d",&n,&m);
for(int i = 0;i < n;i++)
scanf("%d%d%d",&gold[i],&medal[i],&population[i]);
for(int i = 0;i < m;i++)
{
int check_number;
scanf("%d",&check_number);
printresult(check_number,n);
}
printf("\n");
return 0;
}
void printresult(int check_number,int n)
{
for(int i = 0;i < n;i++)
{
if(gold[i]>gold[check_number])
list[1]++;
}
int result = ++list[1];//这里还要多加一个1,因为数组原来是0
int num = 1;
for(int i = 0;i < n;i++)
{
if(medal[i]>medal[check_number])
list[2]++;
}
list[2]++;
double gold_per = gold[check_number]*1.0/population[check_number];
for(int i = 0;i < n;i++)
{
if((gold[i]*1.0/population[i])>gold_per)
list[3]++;
}
list[3]++;
double medal_per = medal[check_number]*1.0/population[check_number];
for(int i = 0;i < n;i++)
{
if(medal[i]*1.0/population[i]>medal_per)
list[4]++;
}
list[4]++;
for(int i = 1;i < 5;i++)
{
if(list[i]<result)
{
result = list[i];
num = i;
}
}
for(int i = 1;i < 5;i++)
list[i] = 0;//对排名数组清零,因为之后要多次调用
if(!fir)
{
printf("%d:%d",result,num);//首个输入前面不用空格
fir = 1;
}
else
printf(" %d:%d",result,num);
}
//如果超时的话还可以再优化,不过国家的数量比较少,应该不会
//优化就是把排名是1的话直接输出,不进行之后运算

② 算法与数据结构二叉树的顺序存储代码

1.应该是按照完全二叉树存的吧。这样的话,
2。根节点可以设置为1,(如果设成0的话,以后的所有值-1就可以了)
3,如果一个节点是x它左孩子是2*x,右孩子是2*x+1
4,所有叶子节点是,假设共有K个节点,这样则最后一个有叶子节点的是k/2,所以叶子节点就是[k/2+1,k];
5,顺序输出就可以了。

③ 数据结构与算法C语言的一段代码

struct 不能这样赋值吧

④ 《数据结构》算法实现与分析高一凡中的源代码要怎么用

这个代码可以直接用。用的时候必须把include中的文件也保存好。

热点内容
360的密码保护一般在哪里 发布:2025-03-29 21:49:23 浏览:51
net数据库测试 发布:2025-03-29 21:35:55 浏览:537
编程题鸟 发布:2025-03-29 21:35:51 浏览:284
安卓源码下载网站 发布:2025-03-29 21:30:48 浏览:200
linux文件管理系统 发布:2025-03-29 21:29:49 浏览:751
11位密码组合有多少种 发布:2025-03-29 21:25:26 浏览:498
我的世界外国服务器ip版 发布:2025-03-29 21:25:23 浏览:77
移动办公如何设置服务器址和端口 发布:2025-03-29 21:25:22 浏览:457
cf游戏源码 发布:2025-03-29 21:21:53 浏览:980
数据库功能树 发布:2025-03-29 21:20:13 浏览:469