没有合适的资源?快使用搜索试试~ 我知道了~
数据结构课程设计.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 99 浏览量
2022-06-16
03:03:33
上传
评论
收藏 566KB PDF 举报
温馨提示
试读
30页
数据结构课程设计.pdf数据结构课程设计.pdf数据结构课程设计.pdf数据结构课程设计.pdf数据结构课程设计.pdf数据结构课程设计.pdf数据结构课程设计.pdf数据结构课程设计.pdf数据结构课程设计.pdf
资源推荐
资源详情
资源评论
一、运动会分数统计
1.概述
本程序中学校的存储结构为链表,
„„
Prev school(最后) next
头结点
Prev school1 next
„„
其中
school 类为:
class school:public athlete /*学校*/
{
……
public:
int count; /*学校获奖数*/
int serial; /*学校编号*/
int menscore; /*男选手总分*/
int womenscore; /*女选手总分*/
int totalscore; /*总分*/
athlete ath[MaxSize]; /*获奖运动员信息数组,包括分数,名次,项目
*/
school *prev;//前指针
school *next; //后指针
};
1
其中部分主要的函数:
添加操作 add(school* &head)
查询操作 checkFunc(school *head,int &n)
文件保存 save(school *head)
总分快速排序 tquicksort(vector<school *>& v, int first, int last)
总分基数排序 tbaseSort(vector<school *>& v, int d)
2.关键算法
{……
添加项目号
for ( i = 1 ; i <= n ; i++ )
{ 输入第 i 名运动员的学校编号 temp
……
while(first!=head) //遍历链表,直到找到编号为 serial 的学校所在结点,或
first 指向表头 head
{ if (first->serial ==要添加的编号)
{
(first->ath[first->count]).item =要添加的项目号;
(first->ath[first->count]).range =i(名次)
First 指向的学校的项目加一;
更新总分
break; }
first = first->next;
……}
2
开始
输入项目编号 temp
N
是数字
Y
N
0<temp<18
Y
Next school
temp 存在
N
输出“项目
不存在”
Y
N
学 校 遍 历
结束
Y
Y
temp 是奇数
N
取 5 名 取 3 名
输入获奖的
学校编号 se
N
1<se<15
Y
项目号、名次、运动员名
字添进学校所在结点
继续添加
N
结束
Y
3
3 测试结果
4 代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <io.h>
#define MAX 50
typedef struct node1{
int school; /*学校编号*/
int record; /*项目成绩*/
struct node1 *next;
}Schools;
typedef struct {
int item; /*项目编号*/
Schools *firstschool; /*链域指向链表中第一个结点*/
}ITEM;
4
typedef struct {
int z; /* 项目总数 */
ITEM a[MAX];
}ALLitems;
typedef struct node2 {
int item; /*该学校获奖的项目*/
int record; /*项目成绩*/
struct node2 *next; /*链域*/
}Items;
typedef struct {
int school; /*学校编号*/
int score; /*学校总分*/
int boys; /*男团体总分*/
int girls; /*女团体总分*/
Items *firstitem; /*链域指向链表中第一个获奖项目的结点*/
}SCHNode;
typedef struct {
int n; /* 学校总数 */
SCHNode b[MAX];
}ALLNode;
ALLitems *g1;
ALLNode *g2;
void funct1(ALLitems *g1,ALLNode *g2)
{
Schools *p1;
Items *p2;
int i,j,k,m,w,h,x;
p1=(Schools *)malloc(sizeof(Schools));
p2=(Items *)malloc(sizeof(Items));
if(!p1||!p2)
exit(1);
printf("\n ****** 输 入 各 个 项 目 信 息 ****** \n\n");
printf("输入男子项目总数 m:");
scanf("%d",&m);
if(m<0||m>20)
{
printf(" 输入有误,m 是 20 以内的整数,请重新输入:");
scanf("%d",&m);
}
printf("输入女子项目总数 w:");
scanf("%d",&w);
if(w<0||w>20)
{
5
剩余29页未读,继续阅读
资源评论
不吃鸳鸯锅
- 粉丝: 8303
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功