zoukankan      html  css  js  c++  java
  • Practice3_vector_sort_struct.cpp

    // Practice3_vector_sort_struct.cpp : 定义控制台应用程序的入口点。
    //

    #include "stdafx.h"
    #include <vector>
    #include <algorithm>
    #include <iostream>
    #include <ctime>
    #include <stdio.h>
    #include <string>

    using namespace std;

    struct ScoreStruct
    {
    std::string name;
    unsigned int score;
    bool operator <(const ScoreStruct &right) const
    {
    return score < right.score;
    }
    };

    void initVector(vector<ScoreStruct> &vec, unsigned int size)
    {
    srand(unsigned(time(NULL)));
    for(unsigned int i =0; i < size; i++)
    {
    char buff[32] = {0};
    int randNum = rand()%100;
    sprintf(buff, "%d", randNum);
    ScoreStruct ss = {buff, randNum};
    vec.push_back(ss);
    }
    }

    void printVector(vector<ScoreStruct> vec)
    {
    vector<ScoreStruct>::iterator it = vec.begin();
    for(; it != vec.end();++it)
    {
    /* 可以正常工作,<<前后一定要有空格!!!!*/
    cout << it->name << "," << it->score << " ";// it->name即(*it).name的简写

    /* 可以正常工作
    cout<< it->name;
    cout<< ",";
    cout<<it->score;
    cout<< " ";
    */

    /* 可以正常工作
    ScoreStruct ss = *it;
    cout<<ss.name;
    cout<<",";
    cout<<ss.score;
    cout<<" ";
    */
    /* 不可以正常工作,为何? */
    //printf("score: %d ", it->score);
    //printf("name: %s ", it->name);
    }
    cout<<endl;
    }

    int _tmain(int argc, _TCHAR* argv[])
    {
    vector<ScoreStruct> vect;
    initVector(vect, 4);
    cout<<"before sort"<<endl;
    printVector(vect);
    sort(vect.begin(), vect.end());
    cout<<"after sort"<<endl;
    printVector(vect);
    return 0;
    }

  • 相关阅读:
    nslookup查询结果详解
    【Web页面测试】测试点和测试用例
    【CloverETL培训】题目
    VirtualBox虚拟机网络设置(四种方式)
    Web系统测试Web安全性测试
    sqlserver字段类型详解
    详解SVN 的使用
    Javascript闭包——懂不懂由你,反正我是懂了
    Javascript的console.log()用法
    [ JS 进阶 ] test, exec, match, replace
  • 原文地址:https://www.cnblogs.com/liuzc/p/6476417.html
Copyright © 2011-2022 走看看