S stuwe Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-24 #21 數據寫入到ListView中 要將其中數據排序,記錄>10000的 排序的列也是整型數據來的
S stuwe Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-24 #23 to:Kisber 你才有毛病[!][!] 整數數組,隻有一個數組我還用得著這樣做嗎? 再說了,即使就隻有一個數組,我放在listView裡面也有原因的,想問題都不知道你怎麼考慮的 >>排序的列也是整型數據來的 這一句就很明顯就是根據其中一列排序了 簡單跟你說吧,就是將listView裡面數據按某一列(整型數)排序,懂不懂
to:Kisber 你才有毛病[!][!] 整數數組,隻有一個數組我還用得著這樣做嗎? 再說了,即使就隻有一個數組,我放在listView裡面也有原因的,想問題都不知道你怎麼考慮的 >>排序的列也是整型數據來的 這一句就很明顯就是根據其中一列排序了 簡單跟你說吧,就是將listView裡面數據按某一列(整型數)排序,懂不懂
K Kisber Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-24 #24 晕死! 一个Integer是4Bytes,一个ListItem是一个对象,每个对象它的指针就占用了4Bytes, 它的实际数据呢?! 而你要对10000个ListItems进行排序,不慢才怪呢! 如果你用的还是瘟98的话,单单那10000个ListItems就能让你的程序象跑蜗牛一样,这样 的设计,我看不到它的好处。
晕死! 一个Integer是4Bytes,一个ListItem是一个对象,每个对象它的指针就占用了4Bytes, 它的实际数据呢?! 而你要对10000个ListItems进行排序,不慢才怪呢! 如果你用的还是瘟98的话,单单那10000个ListItems就能让你的程序象跑蜗牛一样,这样 的设计,我看不到它的好处。
S stuwe Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-24 #25 to:Kisber 不管用什麼,10000個記錄都不怎麼快的 況且這些數據又不是數據庫裡面的,又要實現可以排序,那你說應該改用什麼最好[?][?]
K Kisber Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-24 #26 楼主: 我刚刚试了,10000条Integer用快速排序法仅用了1.072秒! 难道楼主觉得两秒太慢了?那你的要求也太高太过分了吧。
S stuwe Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-25 #27 to:Kisber >>10000条Integer用快速排序法仅用了1.072秒! 你所說的快速排序法能不能提供代碼,我試試看 我主要的目的是將ListView裡面的數據排序,我隻是求最快的算法 因為我用最簡單的算法的時候,排序10000行的時候就比較慢了
to:Kisber >>10000条Integer用快速排序法仅用了1.072秒! 你所說的快速排序法能不能提供代碼,我試試看 我主要的目的是將ListView裡面的數據排序,我隻是求最快的算法 因為我用最簡單的算法的時候,排序10000行的時候就比較慢了
S stuwe Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-25 #29 to:luky_99 代碼怎麼實現?就排一個數組吧,容易一點
H hfghfghfg Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-25 #30 10000個數 你要分析 这些数的规律 才能 找的好的方法 如 是否在特定范围内 //(1..2的整数)//夸张了一点//我估计你一眼就看出最好的算法 是否在特定范围内 //(1..100的整数) 你可以写一个自己的算法
10000個數 你要分析 这些数的规律 才能 找的好的方法 如 是否在特定范围内 //(1..2的整数)//夸张了一点//我估计你一眼就看出最好的算法 是否在特定范围内 //(1..100的整数) 你可以写一个自己的算法
太 太阳火 Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-25 #33 冒泡法效率很差的。 建议使用Quick Sort. 提供一个思路: 先随便取一个数,然后把此数大的全放到后面,小的放到前面,然后在前面一部分、后面一部分 再分别各取一个数,递归调用此函数。 此方法非常快,特别是原来的数是无规则的(越是无规则越是快)
冒泡法效率很差的。 建议使用Quick Sort. 提供一个思路: 先随便取一个数,然后把此数大的全放到后面,小的放到前面,然后在前面一部分、后面一部分 再分别各取一个数,递归调用此函数。 此方法非常快,特别是原来的数是无规则的(越是无规则越是快)
K Kisber Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-26 #35 楼主: 快排算法就是他们贴给你的 QuickSort 啊! 其实 QuickSort 在 Delphi VCL 里有,你可以自己打开来看看。
S syj_boy Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-26 #36 是什么类型的数据。长度固不固定。 如果定,可用基数较好。归并也可。都是 nlogn
K Kisber Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-28 #38 呵呵,结贴啦楼主。 我对排序自诩研究得比较多吧,如果你不介意,你可以把你的 ListView 发给我,我帮 你找个最佳算法出来。 顺便做个广告:我的邮箱在我的主页里有 http://kisber.yeah.net/
呵呵,结贴啦楼主。 我对排序自诩研究得比较多吧,如果你不介意,你可以把你的 ListView 发给我,我帮 你找个最佳算法出来。 顺便做个广告:我的邮箱在我的主页里有 http://kisber.yeah.net/