日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

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

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


結構體是一種自定義的東西,用struct來定義。在他里面,
可以裝許多東西,比如int,string,char,bool等等等等。
如:
struct a{
string name;
int a;
int b;
};
……
a s;
cin >> s.name;
代碼示范:
例題:
身高排序
Description
有 n 個同學排成一排,從左到右依次編號為 1~n。
現在給出了這個 n 位同學的身高,但是并不是按照高矮排序的。現在這些同學需要按照身高從矮到高的順序重新排列,矮的同學在左邊,高的同學在右邊。如果兩個同學身高相同,那么這兩個同學的相對順序不應該發生變化。
請你輸出排序以后從左到右同學的編號。
Input
輸入一個行一個整數 n(1≤n≤1000)。
接下來一行輸入 n 個整數,依次表示從左到右的同學的身高,每個同學身高小于等于 300。
Output
一行輸出 n 個整數,兩個數中間用空格隔開,行末不要有多余空格。
表示重新排列以后從左到右的同學的編號。
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=編號
};//定義結構體
bool cmp(student x,student y){
return x.h<y.h;
}//排序函數
int main(){
int n,b=0;
cin >>n;//人數
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);//更穩定的sort排序
for(int i=0;i<=n-2;i++){
cout << a[i].name<<" ";//為了去末尾空格,最后一個單獨輸出
}
cout << a[n-1].name;//輸出最后一個
return 0;
}
注:結構體排序需要寫一個排序函數。
這就是結構體。
標準結尾:

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。