排序之根據某一字段的應用排序實現

2021-06-22 11:49:21 字數 520 閱讀 2255

ds裡介紹了各種狂拽酷炫的排序演算法,但是都是基於單個元素,實際應用中對某條記錄的某個欄位來排序的情況層出不窮,如果還是原來的演算法直接用的話,恐怕無濟於事,

於是我想怎麼根據某個欄位來排序,當時學c++的時候qsort,一直都用這個排序,有個compare函式比較糾結,裡面指標多,這個是排序的依據,在這裡就有用了,如果你用sort估計是不行了,或者自己重寫sort,比較的交換的時候改一改就好了。

基於這個目的,有了下面的toy**,這樣其他的都可以套了。但是如果是vector好像不行,我再看看怎麼解決(vector解決了,用sort 也是帶個比較函式的引數,見後一篇日誌)

#include #include using namespace std;

struct node

;int compare(const void*a, const void*b)

int main()

{ node na[10];

vectorvec;

int num=10;

for(int i=0;i

SQL 通過某一字段獲取排名排序後的名次

一 查出所有使用者和他們的經驗排名 sql語句如下 查出所有使用者和他們的經驗排名 userid string 使用者id exp int 經驗 ranknum int 索引數,每條索引數就是排名數 select ranknum 0 b 這句是必不可少,宣告 ranknum索引值的初始值。二 查出某...

MySQL對某一字段去重

mysql有乙個去重關鍵字distinct,但是如果查詢的字段有很多,而想要去重的字段只是其中的某乙個,那麼僅僅用distinct是完成不了的,distince只能做到你查詢的那些欄位都是重複時才會去重。比如有一張使用者表的資料是這樣的 這裡我們本意是想查出一條資料,如果是這樣寫sql語句 sele...

根據某一字段值相同合併字串 SQL

根據某一字段值相同合併字串 sql 做專案的過程中,遇到乙個問題,相同id,不同value的記錄希望合併成一條記錄,value以逗號分隔,從網上搜了搜解決方案,整理如下,備忘。一 字串合併 表名 test 字段 id int name nvarchar 50 字段值 期望結果 id namestr ...