如何以一个序列顺序为基准,来排另一个组数据的顺序?比如我有一个基准序列,顺序是ST NI FL STU OL然后我有个集合,每个对象包含了一些属性,比如OL 3 NPTST 2 SA-106STU 16 102 B7NI 1 SA-106ST 3 SA-106FL 3 RF

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/22 01:52:25
如何以一个序列顺序为基准,来排另一个组数据的顺序?比如我有一个基准序列,顺序是STNIFLSTUOL然后我有个集合,每个对象包含了一些属性,比如OL3NPTST2SA-106STU16102B7NI1

如何以一个序列顺序为基准,来排另一个组数据的顺序?比如我有一个基准序列,顺序是ST NI FL STU OL然后我有个集合,每个对象包含了一些属性,比如OL 3 NPTST 2 SA-106STU 16 102 B7NI 1 SA-106ST 3 SA-106FL 3 RF
如何以一个序列顺序为基准,来排另一个组数据的顺序?
比如我有一个基准序列,顺序是ST NI FL STU OL
然后我有个集合,每个对象包含了一些属性,比如
OL 3 NPT
ST 2 SA-106
STU 16 102 B7
NI 1 SA-106
ST 3 SA-106
FL 3 RF STD S-105
现在我要排序,首先按第一个属性按照上面的基准排列,如果第一个属性相等,则根据第二个属性排列,依次类推
结果如下
ST 2 SA-106
ST 3 SA-106
NI 1 SA-106
FL 3 RF STD S-105
STU 16 102 B7
OL 3 NPT
我对于程序排序的了解,基本的就冒泡排序法,以及刚又了解了些面向对象里面的Icomparable借口,Icompare接口,不过这两个接提供的演示要不是按数值大小排序,要不是按照首写字母排序,都不是我上面说的按照一个序列基准来排列

如何以一个序列顺序为基准,来排另一个组数据的顺序?比如我有一个基准序列,顺序是ST NI FL STU OL然后我有个集合,每个对象包含了一些属性,比如OL 3 NPTST 2 SA-106STU 16 102 B7NI 1 SA-106ST 3 SA-106FL 3 RF
很多方法.可以用 分段匹配、格式转换、数值转换等,但无论哪种方法都很麻烦.我在排序IP地址时情况和你要求的就差不多.列如,将下面杂乱无章的IP字符串排列和你的问题是类似的:
排列前(乱序):
193.10.10.10
192.168.90.80
192.168.1.230
192.169.10.20
192.168.2.120
192.168.2.100
192.168.1.200
排列后(升序):
192.168.1.200
192.168.1.230
192.168.2.100
192.168.2.120
192.168.90.80
192.169.10.20
193.10.10.10
排列原理(数值转换比较排列)
192.168.1.200 int = 192*255*255*255+168*255*255+1*255+200 ; (值:3232235976)
192.168.1.230 int = 192*255*255*255+168*255*255+1*255+230 ; (值:3232236006)
192.168.2.100 int = 192*255*255*255+168*255*255+2*255+230 ; (值:3232236132)
192.168.2.120 int = 192*255*255*255+168*255*255+2*255+120 ; (值:3232236152)
192.168.90.80 int = 192*255*255*255+168*255*255+90*255+80 ; (值:3232258640)
192.169.10.20 int = 192*255*255*255+169*255*255+10*255+20 ; (值:3232303636)
193.10.10.10 int = 193*255*255*255+10*255*255+10*255+10 ; (值:3238660618)
这就是数值转换排序.先把要排列的数据以特定算法约束.转换成数值并将其对应绑定后,我们就不用再对原数据进行分段比较了,而是直接对它的对应绑定值进行比较就达到了排序条件目的了……
没有排序不了的数据,关键在于你以什么的算法和逻辑去约束它!
希望我手工打了这么多的字都帮助到你!晚安!

如何以一个序列顺序为基准,来排另一个组数据的顺序?比如我有一个基准序列,顺序是ST NI FL STU OL然后我有个集合,每个对象包含了一些属性,比如OL 3 NPTST 2 SA-106STU 16 102 B7NI 1 SA-106ST 3 SA-106FL 3 RF 如何在一个文档中按照数字来排序列 快排算法是怎样排序的呢若是以第一个元素为基准,21 25 5 17 9 23 30这个序列的第一遍排序后的结果是什么呢 如何以实际行动来孝敬父母? 快速排序!移动元素次数的题目,如下对下列四个序列用快速排序方法进行排序,以序列的第一个元素为划分的基准,在第一趟划分过程中,元素的移动数最多的是哪一个序列( )A. 70 , 65 , 34 , 82 是排列的设a1,a2,…,an是1,2,…,n的一个排列,把排在a i的左边且比ai小的数的个数为ai(i=1,2,…n)的顺序数,如在排列6,4,5,3,2,1中,5的顺序数为1,3的顺序数为0,则在1至8这8个数的排列中,8的顺序数为2 Mathematica如何以函数为变量定义一个函数? PS里如何以一个点为中心画圆 matlab中如何以一个点为圆心画圆 matlab中如何以一个点为圆心画圆 solidworks里切除物体时为什么只能在基准面上切呢,如何以某个角度切,比如一个球,斜着45°切? 如何以节能减排,你我行动,共创和谐家园为主题的环保文章?如题. (急)关于高中数学 排列组合的题目———求解8.设 是 的一个排列,把排在 的左边且比 小的数的个数称为 的顺序数( ).如:在排列6,4,5,3,2,1中,5的顺序数为1,3的顺序数为0.则在1至8这 cad中如何以一个点到另一个点的距离为半径画圆用相切相切半径画一个圆,两个切点知道,半径就是该线段的长度,如何画出呢?测量出来的不是个准确的数值. 将五个数的序列排序,按从小到大的顺序排?不论原先的顺序 b.如何以数学为表达形式,运用理智建立普遍法则来解释物质世界 双曲线和指数函数的交点个数题目如图答案为C我知道数形结合我咋画出来只有一个交点呢?另一个焦点在哪里 怎么考虑到的? 电子秤如何以0.05为单位显示