我在实际操作中遇到一种这样的问题:■问题我有一个数组A,我需
vb吧
全部回复
仅看楼主
level 11
余思培 楼主
我在实际操作中遇到一种这样的问题:
■问题
我有一个数组A,我需要对数组A的元素进行排序,但排序结束后我能以排序后的结果对原数组A的映射关系进行操作。
●表达
原数组隐射关系为:原下标→目标元素
排序后隐射关系为:现顺序→目标元素
要求建立映射关系或为:
原下标→现顺序→目标元素
现顺序→原下标→目标元素
□例:
存在有限无序数列(数组)U,但其元素的值得范围为[0,n]
数组A对数列U中每一个出现的元素进行统计,数组A有元素n+1个
然后对数组A进行排序
排完序之后能够找到统计总数顺序第几的数是哪一个,总共有多少个
本例中,
原下标为某数
目标元素为U中某数的出现次数
现顺序数量为排序后的最终顺序

要求为:
通过【最终顺序】找到【某数】,并知道其【出现次数】
■请教内容
这一类排序我不知道叫什么,我姑且称之为指向性排序,即不破坏原有映射指向关系的排序,并且也在选择排序的基础上写了一个这个暂被我称之为指向性排序的算法
我想请教一下大佬这类问题一般怎么解决?我写出来的这个暂时性处理的算法可以怎样去修改和完善?
//代码运测见2楼
2020年07月14日 11点07分 1
level 11
余思培 楼主
分别为代码、运测、源码
2020年07月14日 11点07分 2
吧务
level 13
你是对单列数据排序,还是对【二维表格】中的数据,按某一列(关键字)来排序?
2020年07月14日 16点07分 3
吧务
level 13
看你的部分数据。仅仅是一个一维数据表。把一维数据表整成【三列二维数据表】,就可以实现你要求的功能。
二维数据表的三列是:
序号 排序号 数据
1   ?  148
2   ?  221
3   ?  185
4   ?  110
5   ?  35
………………
有了这个数据表,你就知道该怎么操作了。
2020年07月14日 16点07分 4
1