C 對結構體元素排序

2021-08-08 20:23:15 字數 860 閱讀 6809

遇到了兩個動態陣列: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排序。也可以自定義乙個排序函式,改排序方式為...