糾結的QList 排序

2021-06-26 21:39:30 字數 1227 閱讀 9227

今天做stdlib 中的qlist 排序 ,在qt環境下   馬上想到了qsort  可是呢 qsort用了半天發現不可行 

功 能: 使用

快速排序例程進行排序

用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));

引數:1 待排序

陣列首位址 2 陣列中待排序元素數量 3 各元素的占用空間大小 4 指向函式的

指標,用於確定排序的順序

其中的那個比較函式,傳入的引數是個void*的而且轉換完成後還是無法排序  ,最終發現用qsort對泛型排序真不是個好主意

接著用標準庫中的sort排序 ,這個是乙個專門針對泛型資料排序的中可以吧 ,可是寫在qt中卻無法識別  sort、std::sort 都試過了 

header:

namespace: std

最後找下qt中的專用排序,發現qlist 中的排序 用的是qsort ,鬱悶,可以,,於是便又在琢磨 ,好久,發現不行,

繼續查閱資料  發現乙個qsort,qt中對泛型排序的函式,發現和sort基本上完全相同 ,這時才醒悟過來 qsort -----qsort  

void qsort ( randomaccessiterator begin, randomaccessiterator end, lessthan lessthan )

void qsort ( randomaccessiterator begin, randomaccessiterator end )

[cpp]view plain

copy

bool capitysort(const svideochip msvideofirst,const svideochip msvideosecond)  

void * videosort(qlist* msvideochiplist)    

[cpp]view plain

copy

bool capitysort(const svideochip msvideofirst,const svideochip msvideosecond)  

void * videosort(qlist* msvideochiplist)    

發現qt中的qlist沒有sort方法,c++標準list中有sort  看來還是原生態的強大

QList的簡單使用

qlistlist list 1 2 3 4 5 6 7 8 qlist的插入 voidinsert int i,const t value 在qlist其中某個位置插入value,假如沒 宣告i i 預設size 及在最後插入value iteratorinsert iterator before...

QList和QStringList的用法

h ifndef mylistview h define mylistview h include class qlistview class qstandarditemmodel class mylistview public qwidget endif mylistview h cpp incl...

QT之QList的錯誤

記錄一下這次犯的錯誤 好氣哦,看了一天時間bug。男朋友一下子幫我解決,有個程式設計師男朋友還挺好 resourse label str list是個qstringlist型別的,存放的是我解析出來的資源重組之後的資料。具體看 for int i start i 解析出來之後為 天伺饋j 綜合測控基...