稳定多维table排序
- --[[
- 稳定的多维条件数组排序
- 由调用者保证tbCondition的元素个数大于等于维度nDimension
- ]]
- function MutilArraySort(tbCondition, nDimension)
- local tbResult = {}
- for i = 1, #tbCondition do
- local nInsert = 0
- local nLocal = 1
- for k = 1, nDimension do
- local function DimensionCompare(j)
- if j > #tbResult then
- return #tbCondition + 1
- end
- if tbCondition[i][k] > tbCondition[tbResult[j]][k] then
- return j
- elseif tbCondition[i][k] == tbCondition[tbResult[j]][k] then
- return 0, j
- else
- return DimensionCompare(j + 1)
- end
- end
- nInsert, nLocal = DimensionCompare(nLocal)
- if nInsert > 0 and nInsert <= #tbResult then
- table.insert(tbResult, nInsert, i)
- break
- elseif nInsert > #tbResult then
- table.insert(tbResult, i)
- break
- end
- if k == nDimension then
- table.insert(tbResult, i)
- break
- end
- end
- end
- return tbResult
- end
- tbCondition = {
- [1] = { 1, 2, 6, 6 },
- [2] = { 5, 2, 8, 5 },
- [3] = { 5, 2, 7, 6 },
- [4] = { 5, 2, 1, 4 },
- }
- local tbResult = MutilArraySort(tbCondition, 4)
- for i = 1, #tbResult do
- print(tbResult[i])
- end
转载于:https://blog.51cto.com/rangercyh/1160537
稳定多维table排序相关推荐
- JavaScript Table排序
序二(09/05/03) 近来还是那么忙,趁五一更新一下程序吧. 这个版本主要增加和改进了以下东西: 1,对字符串改用localeCompare来比较: 2,一次排序中能使用多个排序对象(用于值相等时 ...
- [Python学习] 专题五.列表基础知识 二维list排序、获取下标和处理txt文本实例
通常测试人员或公司实习人员需要处理一些txt文本内容,而此时使用Python是比较方便的语言.它不光在爬取网上资料上方便,还在NLP自然语言处理方面拥有独到的优势.这篇文章主要简单的介绍使用Pytho ...
- c++ 二维数组 排序_【算法】排序算法之计数排序
前几回,我们已经对[算法]排序算法之冒泡排序.[算法]排序算法之插入排序.[算法]排序算法之希尔排序.[算法]排序算法之选择排序.[算法]排序算法之快速排序.[算法]排序算法之归并排序.[算法]排序算 ...
- C++ 二维vector排序(sort用法)
C++二维vector排序 sort 函数的使用 sort 函数的使用 自定义排序函数 (目标:对 二维vector<vector> points中第二个元素进行排序) static bo ...
- html表格td向下排序,jquery实现的table排序功能示例
本文实例讲述了jquery实现的table排序功能.分享给大家供大家参考,具体如下: Document div { width: 1024px; margin: 0 auto; /*div相对屏幕左右 ...
- bootstrap table排序php,BootStrap+Table排序分页序号
这次给大家带来BootStrap+Table排序分页序号,BootStrap+Table排序分页序号的注意事项有哪些,下面就是实战案例,一起来看一下. 前言在使用bootstrap table的时候难 ...
- 二维列表排序 python_python教程:[74]列表排序
列表排序,做数据经常用到的一个方法,在python中想实现排序有时候觉得挺难,比如按照行排序或按照列排序,写起来都不简单,今天在这里总结一下在python中实现排序的所有方法,如有不全,请下面留言. ...
- 华为OD机试-运维日志排序
文章目录 题目描述 输入描述 输出描述: 示例 Java 代码实现 题目描述 运维工程师采集到某产品线网运行一天产生的日志n条,现需根据日志时间先后顺序对日志进行排序,日志时间格式为H:M:S.N. ...
- DWZ (JUI) 教程 table 排序
DWZ (JUI) 教程 table 排序 最近有朋友问到dwz 排序的问题,我简单说一下.dwz排序是后台排序,不是前台的js排序,他的流程和搜索,分页是一样的,当你点击排序的按钮时,从新发送请求刷 ...
最新文章
- 云数据中心异构资源管理大有可为
- Python有哪些作用
- loadrunner脚本设计:集合点(批量放行实现真正的并发)
- TCP/IP协议读书笔记(1)
- 防止linux系统文件被误删除,Linux系统防止误删除文件
- 【深度优先搜索】计蒜客:最大蛋糕(最大连通块)
- IOS - 单例模式+多线程
- java中POJO、PO、BO、VO、DTO和DAO的概念
- 一维码二维码识别(opencv c++)
- 最全搭建自己的SOCKS代理服务器
- android carlife 源码,CarLife开发总结
- T40之小黑不能充电记
- ad17如何生成坐标文件_pcb如何导出坐标文件
- linux下socket编程带来的尴尬
- java实验 类和对象_java 实验(三) 类和对象
- python安装h5py
- python 用QQ邮箱发送邮件
- Android 安装app
- 为什么每个人都该知道阿兰·图灵?
- 基于PLC十字路口交通灯控制(可计算车流量、调整时间等)课程设计毕业设计
热门文章
- VTK:可视化算法之DisplacementPlot
- VTK:可视化之VisualizeImageData
- VTK:Qt之ShareCameraQt
- VTK:绘图之HistogramBarChart
- OpenCV使用F变换过滤
- QT的QInputDialog类的使用
- 第一天:制定项目章程
- 07_数据库创建,添加c3p0操作所需的jar包,编写c3p0-config.xml文件,编写User.java,编写jdbcUtils.java实现操作数据库的模板工具类,UserDao编写,Dao
- Rotation Rose各部分的名称
- Mysql8 NDB集群二进制方式免安装配置图解