年月日時間排序

軟體開放過程中,有事會需要對時間進行排序,比如手機通話記錄等,都是按照撥打電話的時間排序的。那麼下面我將為大家介紹兩種簡單的排序方法

工具/原料

c c++ stl

方法/步驟

定義一個測試結構

struct TestTime

{

int nYear;

int nMonth;

int nDay;

int nHour;

int nMinute;

int nSecond;

};

編寫比較時間仿函數

bool CompareTime(TestTime ftime, TestTime ttime)

{

if(ttime.nYear != fCallLog.nYear)

{

return ttime.nYear < ftime.nYear;

}

if(ttime.nMonth != ftime.nMonth)

{

return ttime.nMonth < ftime.nMonth;

}

if(ttime.nDay != ftime.nDay)

{

return ttime.nDay < ftime.nDay;

}

if(ttime.nHour != ftime.nHour)

{

return ttime.nHour < ftime.nHour;

}

if(ttime.nMinute != ftime.nMinute)

{

return ttime.nMinute < ftime.nMinute;

}

if(ttime.nSecond != ftime.nSecond)     {

return ttime.nSecond < ftime.nSecond;

}

return false;

}

排序

std::list<TestTime> testList;

testList.sort(CompareTime);

本文內容整理自網絡, 文中所有觀點看法不代表淘大白的立場