STL排序函数-训练1-1部分排序(前k小元素)【描述】输入n个整数,将最小的k个元素排序后输出(其余元素位置不变)【输入描述】输入为两行,第一行为n、k,n表示总共有几个数,k表示输出几个最小的数;第二行输入n个待排序的数。【输出描述】输出为一行,k个输出的数字【样例输入】5 39 1 3 5 6【样例输出】1 3 5#includeiostream#includealgorithmusingnamespacestd;intmain(){intn,k;cinnk;//输入整数个数n和kintarr[n];//输入n个整数for(inti=0;in;i++){cinarr[i];}partial_sort(arr,arr+k,arr+n);// 部分排序(前k个升序)//前k个最小元素排序后for(inti=0;ik;i++){coutarr[i]" ";}return0;}/* 【输入用例2】 5 3 3 1 4 2 5 【输出用例2】 1 2 3 【输入用例3】 5 3 7 7 7 7 7 【输出用例3】 7 7 7 【输入用例4】 6 1 9 2 7 1 5 3 【输出用例4】 1 【输入用例5】 10 9 5 3 8 1 2 9 4 7 6 0 【输出用例5】 0 1 2 3 4 5 6 7 8 【输入用例6】 7 4 2 2 3 1 1 4 5 【输出用例6】 1 1 2 2 */STL排序函数-训练1-2结构体按成员排序【描述】输入n个学生信息(学号、成绩),按学号升序排序后输出。【输入描述】输入为n+1行,第一行n表示总有几个学生数,接下来输入n个学生的学号与成绩,成绩可能是整数或者带一位小数【输出描述】输出按照学号排序后的信息【样例输入】54 892 567 581 993 80【样例输出】按学号排序后:学号:1 成绩:99学号:2 成绩:56学号:3 成绩:80学号:4 成绩:89学号:7 成绩:58#includeiostream#includealgorithmusingnamespacestd;structStudent{intid;doublescore;};//按学号排序boolcmp(Student a,Student b){if(a.id!=b.id)returna.idb.id;}intmain(