日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

qvector 结构体排序_C++结构体的应用_YCOJ

發(fā)布時間:2025/3/20 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 qvector 结构体排序_C++结构体的应用_YCOJ 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.


結(jié)構(gòu)體是一種自定義的東西,用struct來定義。在他里面,
可以裝許多東西,比如int,string,char,bool等等等等。
如:
struct a{
string name;
int a;
int b;
};
……
a s;
cin >> s.name;
代碼示范:
例題:
身高排序
Description
有 n 個同學(xué)排成一排,從左到右依次編號為 1~n。
現(xiàn)在給出了這個 n 位同學(xué)的身高,但是并不是按照高矮排序的。現(xiàn)在這些同學(xué)需要按照身高從矮到高的順序重新排列,矮的同學(xué)在左邊,高的同學(xué)在右邊。如果兩個同學(xué)身高相同,那么這兩個同學(xué)的相對順序不應(yīng)該發(fā)生變化。
請你輸出排序以后從左到右同學(xué)的編號。
Input
輸入一個行一個整數(shù) n(1≤n≤1000)。
接下來一行輸入 n 個整數(shù),依次表示從左到右的同學(xué)的身高,每個同學(xué)身高小于等于 300。
Output
一行輸出 n 個整數(shù),兩個數(shù)中間用空格隔開,行末不要有多余空格。
表示重新排列以后從左到右的同學(xué)的編號。
Sample Input 1
5
156 178 145 190 156
Sample Output 1
3 1 5 2 4
解題代碼:
cpp
#include<iostream>
#include<algorithm>
using namespace std;
struct student{
int h;
int name;//name=編號
};//定義結(jié)構(gòu)體
bool cmp(student x,student y){
return x.h<y.h;
}//排序函數(shù)
int main(){
int n,b=0;
cin >>n;//人數(shù)
student a[n];//定義student變量a
for (int i=0;i<n;i++){
b++;
a[i].name=b;
}
for (int i=0;i<n;i++){
cin >>a[i].h;
}
stable_sort(a,a+n,cmp);//更穩(wěn)定的sort排序
for(int i=0;i<=n-2;i++){
cout << a[i].name<<" ";//為了去末尾空格,最后一個單獨輸出
}
cout << a[n-1].name;//輸出最后一個
return 0;
}
注:結(jié)構(gòu)體排序需要寫一個排序函數(shù)。
這就是結(jié)構(gòu)體。
標(biāo)準(zhǔn)結(jié)尾:

《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的qvector 结构体排序_C++结构体的应用_YCOJ的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。