在我的應用程序中,我讓用戶選擇他們希望如何排列數據(排序或排序)。
當他們選擇排序時,我簡單地排序一切。這部分對我來說很簡單。但是,當他們選擇排序,然後選擇未排序,我想按照數據庫給我的相同順序向他們展示數據(即,我不想只調用randomize()或其他) 。
有沒有一種有效的方式來「排序」我排序自己而不保留原始數組副本的數組?排序數組的高效方法我對自己排序
回答
您可以做的一件事是在每條記錄中保留一個額外的(隱藏的)整數值,以記錄您從數據庫收到記錄的原始順序。當用戶選擇「未排序」時,然後按該原始排序值排序。
請注意,如果您不想添加新字段,請保留整個*副本*數組也不是必需的。您只需要一個「反向排序」索引數組(與數據一起排序的0 .. * n *索引數組)。 – usr2564301
@ Jongware - 你有任何代碼來展示如何維護未排序的索引?我認爲「僅」比你推斷的要多一點。 :-) – RobG
我的建議是使用數據庫索引 –
爲什麼不保留原始集合的副本?或者不要修改它,而是在用戶請求排序時生成原始集合的排序副本。這似乎比保持原始價值或類似的東西簡單得多。
1.我不想保存數組的另一個副本,因爲它最終可能會很大。 2.這是什麼,我現在做的(我再次請求所有的數據,當用戶想是他們不排序)相反。 兩者都可以工作,但我正在尋找更好的(如果更復雜的)解決方案。 – chustar
在這種情況下,格雷格的答案可能是要走的路。 –
- 1. 最有效的方法來排序2d數組排序到1d排序數組
- 2. 排序數組的有效方法?
- 3. 排序數組沒有排序()方法
- 4. 有沒有更高效的方法來排序這個數組?
- 5. 排序算法最適合對排序數組進行排序
- 6. 對對象集合進行排序的高效方法
- 7. 高效樹排序
- 8. 對多維數組進行排序的最有效方法(php)
- 9. 排序d排序數組的算法
- 10. 在Ruby中創建我自己的排序方法
- 11. 高級數組排序PHP
- 12. 高級數組排序
- 13. 我想要一個有效的排序算法來排序數組
- 14. 數組排序有效
- 15. 排序算法,它自己在一個數組的2/3
- 16. 高效自動排序列表python
- 17. 通過我的方法錯誤對數組排序Java
- 18. 使用自定義排序偏好對數組排序?
- 19. 排序數組排序
- 20. 高效地對結構數組進行排序
- 21. 內存高效排序C++
- 22. Ocaml高效快速排序
- 23. 使用插入排序方法對字符串數據數組排序
- 24. SQL自己的排序順序
- 25. 排序的對象數組
- 26. 對象的排序數組
- 27. 部分排序爲N個未排序組的有效算法
- 28. 在不使用排序方法的Ruby中對數組進行排序
- 29. 自定義排序方法
- 30. 我想對方法的參數排序方法中的列表
什麼是「數據」?它是一個值的數組,一個對象,HTMLCollection,是什麼? – RobG
我認爲如果**未排序**我會使用'Record.ID'或'Record.creationTimestamp'對它們排序 –