随笔 - 1762  文章 - 0  评论 - 109  阅读 - 431万

c++ STL库deque和vector的例子

 

头文件wuyong.h:

复制代码
#pragma once
#include<iostream>
#include<vector>
#include<deque>
#include<algorithm>
#include<string>
using namespace std;
class Player
{
public:
    Player(){}
    Player(string name, int score) :mName(name), mScore(score){}
    ~Player(){}

public:
    string mName;
    int mScore;
};

void Creat_Player(vector<Player>& v)
{
    string nameSeed ="ABCDE";
    for (int i = 0; i < 5; i++)
    {
        Player p;
        p.mName = "选手";
        p.mName += nameSeed[i];
        p.mScore = 0;
        v.push_back(p);
        
    }
}
void printscore(int val)
{
    cout << val << "  ";
}
void Set_score(vector<Player>& v)
{
    for (vector<Player>::iterator it = v.begin(); it != v.end(); it++)
    {
        //对当前学生进行打分
        deque<int> dScore;
        for (int i = 0; i < 10; i++)
        {
            int score = rand() % 41 + 60;
            dScore.push_back(score);
        }
        sort(dScore.begin(), dScore.end());
        //for_each(dScore.begin(), dScore.end(),printscore);
        //cout << endl;
        //去除最高分和最低分
        dScore.pop_front();
        dScore.pop_back();
        int totlescore = 0;
        for (deque<int>::iterator dit = dScore.begin(); dit != dScore.end(); dit++)
        {
            totlescore += (*dit);
            int aveScore = totlescore / dScore.size();
            //保存分数
            (*it).mScore = aveScore;
        }
    }
}
bool mycompare(Player& p1,Player& p2)
{
    return p1.mScore > p2.mScore;
}
//分数排名 sort默认从小到大,希望从大到小
void Print_Rank(vector<Player>& v)
{
    sort(v.begin(), v.end(), mycompare);
    for (vector<Player>::iterator it = v.begin(); it != v.end(); it++)
    {
        cout << "姓名:" << (*it).mName << "  得分:  " << (*it).mScore << endl;
    }
}
View Code
复制代码

源文件wuyong.cpp:

复制代码
#include"wuyong.h"
int main()
{
    vector<Player> vPlist;
    Creat_Player(vPlist);
    Set_score(vPlist);
    Print_Rank(vPlist);

    system("pause");
    return 0;
}
View Code
复制代码

 

posted on   一杯明月  阅读(386)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示