遇到了兩個動態陣列:vectora,vectorb.兩者對應的位置上的元素是有匹配關係的,如 vectora[0] 對應著 vectorb[0]
需要根據vectora中的元素來將vectora,vectorb中的元素都進行排序:(公升序或者降序)
最開始做法: 在迴圈體中
後來修改做法:1.定義乙個結構體,裡面存放著兩個變數。這兩個變數型別分別和vectora,vectorb存放的元素型別相同。
2.定義乙個vector陣列,專門存放自己定義的這個結構體型別元素。通過迴圈體
3.使用vector的sort排序;
4.先清空 vectora,vectorb。通過迴圈體將排完序的vector結構體陣列中的元素重新依次賦值給 vectora,vectorb。
struct mystruct
;bool cmp(mystruct s1, mystruct s2)
bool sortvaluename(vector&longvaluename, vector&longvalue)
vectorvecs;
for (int i = 0; i < valuecount; i++)
sort(vecs.begin(), vecs.end(),cmp);
longvaluename.clear();
longvalue.clear();
for (int i = 0; i < vecs.size(); i++)
return true;
}void main()
for (int i = 0; i < longvaluename.size(); i++){
cout << longvaluename[i]《執行結果圖示:
rust對結構體排序
use std cmp ordering use rand rng 匯入外部的包.記得修改toml檔案 保證age是可比較的 pub struct person t std cmp partialord 注意泛型t的位置 impl t person t where t std cmp partial...
C 結構體排序
在c 中,對結構體的排序方式比c語言豐富的多。在c語言中,我們主要是通過qsort進行排序操作 拋開手寫排序演算法不說 在c 中,有乙個十分強大的排序函式sort,他的內部綜合了許多種排序演算法,因此非常高效。並且,用它來對結構體排序也十分方便。先貼一段示例 1 include 2 include ...
C 對結構體按某一元素進行排序
利用sort函式實現。include using namespace std sort first pointer,first pointer n,cmp 此函式有3個引數 引數3 預設可以不填,如果不填sort會預設按陣列公升序排序。也就是1,2,3,4排序。也可以自定義乙個排序函式,改排序方式為...