其實以某個字段排序並不符合客戶要求,客戶要求大多是,某種型別資料排在前面,某種資料排第二,某種第三,但這裡的型別並不是乙個字段可以體現,而是一種邏輯。
這裡我們為我們的主表建立兩個排序字段,s1 int ,s2 int
以**表為例
如果是獨家**則s1列則標記1,s2列則標記設定時間(int格式)
如果是推薦房則s1標記2,s2標記推薦人數
如果是自有房則s3標記3,s2標記登記時間
然後我們通過
order by s1,s2就可以排序了。
為了效率起見
我們可以把s1s2合併
如1.20141123
2.32.4
3.20141021
但這要求s1,s2的排序都是公升,或都是降
如果希望兩維排序有的公升,有的降,可以做一些減法處理,用乙個最大值減去s2上的數字。
排序2 複雜排序
堆排序是一種選擇排序,遍歷後選擇陣列中最大的值放到堆頂,可用陣列實現,最好和最壞和平均複雜度都為o nlogn 不穩定。堆就是一種完全二叉樹,排序特徵是堆頂元素大於子元素 不管子元素之間的排列 完全二叉樹的特徵是層序遍歷等於滿二叉樹的層序遍歷 也就是底層可以沒有右邊的子樹 用陣列來描述堆的定義有大頂...
複雜排序之歸併排序
歸併排序的時間複雜度是o nlogn 與快速排序和堆排序最大的不同是歸併排序是穩定的,但它需要額外的o n 的空間複雜度 利用遞迴的方法進行排序 void merge elementtype a,elementtype tmpa,int left,int mid,int right void mso...
js排序的時間複雜度 各種排序演算法時間複雜度
各種排序演算法比較 各種常用排序演算法 類別排序方法 時間複雜度 空間複雜度 穩定性複雜性 特點最好 平均最壞 輔助儲存 簡單插入 排序直接插入 o n o n2 o n2 o 1 穩定簡單 希爾排序 o n o n1.3 o n2 o 1 不穩定複雜 選擇排序 直接選擇 o n o n2 o n2...