想写出一个排序函数不知道怎么写

已知:
给定两个向量(vector),一个向量里存放多个准考证号(八位准考证号),另一个向量存放对应准考证号学生的成绩
函数要求:
按照成绩把第二个向量中的成绩从大到小排列,然后第一个向量中的准考证号位置同样变化

这个函数的作用就是把向量进行排列,没什么返回值。

如果向量不会的话,数组方法也可以。
谢谢大家

按题主题目写的:

#include <iostream>
using namespace std;
struct Student
{
    string number; //考生号 
    double score;  //成绩 
};
void sort(struct Student* p,int n) //排序函数 
{
    for(int j=0;j<n-1;j++)
    {
        for(int i=0;i<n-1;i++)
        {
            if(p[i].score<p[i+1].score) //冒泡排序 
            {
                struct Student temp=p[i];
                p[i]=p[i+1];
                p[i+1]=temp;
            }
        }
    }
}
int main()
{
    int n=0;
    cout<<"输入人数:"<<endl;
    cin>>n; //输入考生人数n
    struct Student* p=new struct Student[n];
    for(int i=0;i<n;i++)
    {
        cin>>p[i].number>>p[i].score; //输入n个考生的考生号和成绩 
    }
    sort(p,n);
    cout<<"排序后:"<<endl;  
    for(int i=0;i<n;i++)
    {
        cout<<p[i].number<<" "<<p[i].score<<endl;
    }
    return 0;
}

有帮助望采纳,谢谢!

思路:
1.定义一个结构体,包含准考证号及成绩;
2.把赋值后的数据放到vector里面;
3.使用冒泡等相关排序算法进行排序。