package com.yl.Scala object sortList { def main(args: Array[String]){ def combineSort[T] (less: (T, T) => Boolean) (input: List[T]): List[T] = { /** * @param xList 要合并的有序列表 * @param yList 要合并的有序列表 * @return 合并后的列表 */ def combine(xList : List[T], yList : List[T]): List[T] = (xList, yList) match{ case(Nil, _) => yList case(_, Nil) => xList case(x::xtail, y::ytail) => if(less(x, y)) x :: combine(xtail, yList) else y :: combine(xList, ytail) } val n = input.length / 2 if (n == 0) input else{ val(x, y) = input splitAt n //将要排序的列表平均分成两部分 combine(combineSort(less)(x), combineSort(less)(y)) //先对两个列表归并排序,然后再将有序表进行归并 } } //从小到大排序, x < y println(combineSort((x: Int, y: Int) => x < y) (List(3,4,2,6,45,5,56,7))) //从大到小排序, x > y println(combineSort((x: Int, y: Int) => x > y) (List(3,4,2,6,45,5,56,7))) } }
详细解决方案
相关解决方案
- request.setAttribute("list" "''");该怎么解决
- Hibernate 的query.list()的有关问题
- List 的removeAll方法如何用
- 关于在struts2中怎么将.action加入到web.xml中的<welcome-file-list>上 急
- List items = upload.parseRequest(request);替空kindeditor SpringMvc
- 在JSP中,List<String> str_list这个集合如何遍历呢
- 关于<welcome-file-list>的疑问。初学者郁闷哦
- hibernate Query.createQuery(queryString).list();查询最大只有1000条数据,该怎么处理
- list 接收数据库数据如何写
- hibernate query.list() 不执行解决方法
- list 对象空指针错误
- jsp页面能使用List list= new List()吗,该怎么解决
- java口试要点-ArrayList list = new ArrayList(); 在这个泛型为Integer的ArrayList中存放一个String类型的对象
- 设计可组建的j2me UI(五) List
- j2me list 设置内容格式?解决方案
- list 在struts 2.1 jsp中如何显示?
- JAVA List<Map<String,String>> 排序解决思路
- 关于java List Map方面的简单有关问题
- List<String>取值为什么带“[]”了?解决思路
- java List<>排序有关问题
- Unknown table 'book' in field list
- at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
- List<Object> list=new ArrayList<String>()异常
- java.util.List 求详解,该如何解决
- List 复制速度,该如何解决
- List<User> userList = new ArrayList<User>();解决思路
- List list = new ArrayList(); 是什么意思?解决思路
- 泛型里边的<T> List<T>前面的<T>代表是什么意思?为什么要加<T>
- list,set,地图的作用
- List Control 或者Listbox 中重绘的有关问题