c++ sort问题,有vector[2d].x=分数,vector[2d].y=学号,size(vector)=600,想把这600个2维向量按分数排序

然后我想计算同一分数各共有多少人怎么办

有个简单的方法,使用multimap,用分数作为key,学号作为key对应的值。
将vector中的值挨个插入到multimap中(multimap会将插入的元素组,按照key从小到大排序)。
计算同一分数共多少人,即multimap::equal_range(分数),再处理返回值。追问

http://zhidao.baidu.com/question/1859985659437068267.html#
帮回答我这个问题然后俩个分都给你

温馨提示:内容为网友见解,仅供参考
无其他回答

c++ sort问题,有vector[2d].x=分数,vector[2d].y=学号,size(vector...
有个简单的方法,使用multimap,用分数作为key,学号作为key对应的值。将vector中的值挨个插入到multimap中(multimap会将插入的元素组,按照key从小到大排序)。计算同一分数共多少人,即multimap::equal_range(分数),再处理返回值。

c++ sort问题,有vector[2d].x=分数,vector[2d].y=学号,size(vector...
include<iostream>#include<string>#include<algorithm>#include<vector>using namespace std;typedef struct student{ int sorce; char number[20];}st;void sort(vector<st>&st){ int size=st.size(); for(int i=0;i<size-1;i++) for(int j=i+1;j<size;j++) { ...

c++用sort对vector排序问题
我在我的电脑上编译执行了,程序没有错,所以应该是你的电脑环境有问题。你可以单步调试你的程序,看是哪一行出错了。

c++语言sort函数问题,为什么编译错误?求助
1)sort()的第三个参数,是一个比较函数(或仿函数),这个比较函数的返回值应该是bool型的。2)sort()内部在排序的时候,会用赋值符号"=",来对元素进行顺序调整,而你的元素是char[100]型的,是不能用"="来赋值的(char[]数组一般是用strcpy()来赋值的)。3)while(scanf("%d",&n)&&n)...

c++小白求助!用sort对vector排序的问题
从程序逻辑上来看,你的程序是没有问题的。有可能是你输入的数据已经是从小到大排好序了的,尝试着输入无序的数据,看看排序结果。

C++ vector 排序问题
\/\/下面是修改后的答案,仅供参考。include < iostream > using namespace std;void showlist(char* arr[], int n){ for(int i=0; i<n; i++){ int k = i;for(int j=k+1; j<n; j++){ if(*arr[k]>*arr[j])k = j;} char* temp = arr[k];arr[k] = arr[i];arr[i...

C\\C++,计算Array,Vector元素长度的函数
size() 需要 include<cstddef> vector 是个容器 是复合类型 vector<char> 不会自动添加~ 是char 类型的容器 每个元素是一个个char字符 vecotr<string> 每个元素则会有\\0 因为每个元素是string 类型的字符串 char str1[]="abcdefig";string str="abcdefig";const char str1*=str.c_str();...

求C++大神解答一下关于vector的小问题
大概就是这个意思吧。第一个输出的是1,因为a可以表示数组的第一个元素的地址,所以可以像指针一样解引用然后使用(相应的*(a+1)输出的就是2)。而vector对象vi是一个模版类对象,没有重载*号,不能像指针一样使用。

c++:删除字符串中相同的元素,要求用vector 。sort先排序,再将所有不同...
include <iostream>#include <string>#include <vector>#include <algorithm>using namespace std;void fun(string &str){ for(int i=0;i<str.size();i++){ for(int j=i+1;j<str.size();j++){ if(str[i]==str[j]){ str.erase(j,1); j--; } } }...

c++请教 vector sort怎么写
对于C++的模板库中本来就可以使用<algorithm>这个头文件,其中对于STL的sort函数就是使用quick sort,直接使用就可以了啊。

相似回答
大家正在搜