《数据结构课程设计》预习日志

任务一:赛事信息管理

任务1.png

struct T(存储队伍信息)

const int N = 450;
struct team
{
    /*变量说明
        num:参赛队编号
        name:参赛作品名称
        school:参赛学校
        kind:赛事类别
        student:参赛者
        teacher:指导教师
        res:初赛成绩
    */
    int num;
    string name;
    string school;
    string kind;
    string student;
    string teacher;
    int res;
}t[N];

read(读取数据)

void read()
{
    从team.txt中读取队伍信息
    将队伍信息存入 t 数组
}

random(随机生成初赛成绩)

void random()
{
    遍历t数组
        利用 Rand 函数生成60~100随机数
        将随机数存入t数组中的res变量
}

op(数据修改)

void op()
{
    读入一个变量 o ,表示需要执行的操作
    
    if(o == 'i') insert();
    else if(o == 'd') delete();
    else if(o == 'u') uplete();
    else if(o == 'l') locate();
}

// 增加数据操作
void insert()
{
    读入需要增加的队伍信息
    将信息添加到t数组中
        CreateNode创建新节点
}

// 删除数据操作
void delete()
{
    读入需要删除的队伍编号
    将该条信息从t数组中删除
    
}

// 修改数据信息
void update()
{
    读入需要修改的队伍信息
    将该条信息从t数组中删除
}

任务二:决赛现场模拟

任务2.png

tt(队列)

对初赛成绩使用归并排序
    将排序后的序列一次进入tt队列

    将tt队列平均分为17组,分别按序进入t1~t17队列中

order(输出秩序册)

void imitate(int num)
{
    num表示选择的是哪个房间的秩序
    依次出队并输出
}

imitate(秩序模拟)

获取需要读取的是哪一个房间的秩序
void imitate(int num)
{
    已经完赛的队伍出队,并进入数组,表示已经完赛
    队首表示正在比赛的元素
    未进入数组且不在队首的元素表示候场
}

任务三:决赛地图导览

任务3.png

vertex(存储节点)

typedef struct
{
    /*
        code:编号
        name:名称
        intro:介绍
    */
    string code;
    string name;
    string intro;
}vertex;

MGraph(构建无向图)

class MGraph
{
public:
    MGraph(int n, int e);

    void Floyd();
    // 输出所有路径
    void Allpathlengths();
    // 输出两点间最短路径
    void Printshortpath();
private:
    // 顶点信息
    vertex a[Maxsize];
    // 每条边的长度
    int arc[Maxsize][Maxsize];
    // 顶点数,边数
    int vertexNum, arcNum;
    // 路径
    int dist[Maxsize][Maxsize];
    // 路径长度
    string path[Maxsize][Maxsize];
};

南池北塘
1 声望0 粉丝

下一篇 »
递归枚举