今天做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 綜合測控基...