求多条件排序算法

问题描述

publicclassSortedNumber:IComparable<SortedNumber>{publicSortedNumber(stringnum,boolisUrgent,intwave,intallTime){this.num=num;this.isUrgent=isUrgent;this.wave=wave;this.allTime=allTime;}#regionPropertiesprivateintwave;publicintWave{get{returnthis.wave1;}set{this.wave1=value;}}privateintallTime;publicintAllTime{get{returnthis.allTime;}set{this.allTime=value;}}privateboolisUrgent;publicboolIsUrgent{get{returnthis.isUrgent;}set{this.isUrgent=value;}}privatereadonlystringnum;publicstringNum{get{returnthis.num;}}#endregion#regionMembersofIComparablepublicintCompareTo(SortedNumberother){if(other.isUrgent)return1;if(other.wave>this.wave)return1;if(other.allTime>this.allTime)return1;returnthis.num.CompareTo(other.num);}

我使用SortedNumber这个类作为SortedList的键值,实现按照先后isUragent,wave,allTime,Num排序。我自己这个CompareTo算法是错误的,请高手给出正确的算法。

解决方案

解决方案二:
这么快就沉下去了
解决方案三:
自己顶下
解决方案四:
下班前顶一下,希望有达人帮解决
解决方案五:
看过,顶过

时间: 2024-09-28 19:41:53

求多条件排序算法的相关文章

c++-这是一个排序算法,但结果总是不争取,求大神指出错在哪?

问题描述 这是一个排序算法,但结果总是不争取,求大神指出错在哪? #include <stdio.h> #include <stdlib.h> #include <windows.h> #define MAX 100 int b; int arr[MAX],tearr[MAX]; void merge(int a[],int t[],int lhead, int rtail) { int lt, k, mid, rt; mid = (lhead+rtail)/2; lt

java-JAVA中的排序,最近有一个工程需要排序算法,求算法大神....

问题描述 JAVA中的排序,最近有一个工程需要排序算法,求算法大神.... 就是list中有一组数据(id),要求将id按照id的一个属性(age)进行两两分组. 若是偶数:按照**age之差最小**的两个id进行分组,两两一组. 若是奇数,则将一个id轮空,剩余id仍按照 age之差最小 这一条件进行两两分组. 求大神解救.或者说说一说思路也行... 解决方案 这里面会用到哪个函数?或者大概步骤是如何的,小白求大家尽量详细点说.... 解决方案二: 给出样例数据和预期的结果. 分组也可以用数据

排序算法-急求谁帮我解一下这道题,谢谢了

问题描述 急求谁帮我解一下这道题,谢谢了 用赛尔排序算法,实现下列数据的排序,输出排序结果(学生:张晓静.潘莹莹(28).李强.徐帅龙.李培雨.孙选翠) -0.0715394889165789 -1.44400406587800 1.14177283060735 -0.373461070325566 0.758192609693527 0.440835672545964 0.715966761076295 1.68429468316385 -0.0728008807496808 -0.75926

安卓后端-求Java高效合理排序算法

问题描述 求Java高效合理排序算法 安卓界面列表可任意拖拽变换列表数据顺序,保存数据在后端服务,怎样在后端实现排序,求各路高手指点,确切的方案也可以,大概思路方向也可以,希望大家不吝赐教,先谢过 解决方案 这个在排序的时候加上一个orderid,当你页面上改变位置的时候,就更新orderid发回去. 这个链接的前端可以借鉴http://www.cnblogs.com/breakdown/archive/2012/03/29/2423091.html

常见的五类排序算法图解和实现(多关键字排序:基数排序以及各个排序算法的总结)

基数排序思想 完全不同于以前的排序算法,可以说,基数排序也叫做多关键字排序,基数排序是一种借助"多关键字排序"的思想来实现"单关键字排序"的内部排序算法. 两种方式: 1.最高位优先,先按照最高位排成若干子序列,再对子序列按照次高位排序 2.最低位优先:不必分子序列,每次排序全体元素都参与,不比较,而是通过分配+收集的方式. 多关键字排序 例:将下表所示的学生成绩单按数学成绩的等级由高到低排序,数学成绩相同的学生再按英语成绩的高低等级排序.        第一个关键

排序算法

排序|算法 算法是程序设计的精髓,程序设计的实质就是构造解决问题的算法,将其解释为计算机语言. 在这里您可以了解到: 算法定义 伪代码的使用 算法的复杂性 算法设计策略 常用算法 这里所有的算法都以一种类似Pascal语言的伪代码描述,请参阅伪代码的使用. 新增内容 关于数论的算法--数论基本知识(May 6, 2001)动态规划重新整理 (January 15, 2001)图的深度优先遍历 (January 21, 2001) 图的广度优先遍历 (January 21, 2001)图的拓扑排序

深入排序算法的多语言实现

 1 排序的基本概念 排序: 所谓排序,就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来.其确切定义如下: 输入:n个记录R1,R2,-,Rn,其相应的关键字分别为K1,K2,-,Kn. 输出:Ril,Ri2,-,Rin,使得Ki1≤Ki2≤-≤Kin.(或Ki1≥Ki2≥-≥Kin). 排序的稳定性:当待排序记录的关键字均不相同时,排序结果是惟一的,否则排序结果不唯一.在待排序的文件中,若存在多个关键字相同的记录,经过排序后这些具有相同关键字的记录之间的相对次序保持不变,该排序方

我的Java开发学习之旅------&amp;gt;Java经典排序算法之希尔排序

一.希尔排序(Shell Sort) 希尔排序(Shell Sort)是一种插入排序算法,因D.L.Shell于1959年提出而得名. Shell排序又称作缩小增量排序. 二.希尔排序的基本思想 希尔排序的中心思想就是:将数据进行分组,然后对每一组数据进行排序,在每一组数据都有序之后 ,就可以对所有的分组利用插入排序进行最后一次排序.这样可以显著减少交换的次数,以达到加快排序速度的目的.       希尔排序的中心思想:先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组.所有距

各种排序算法的分析及java实现

排序一直以来都是让我很头疼的事,以前上<数据结构>打酱油去了,整个学期下来才勉强能写出个冒泡排序.由于下半年要准备工作了,也知道排序算法的重要性(据说是面试必问的知识点),所以又花了点时间重新研究了一下. 排序大的分类可以分为两种:内排序和外排序.在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序.下面讲的排序都是属于内排序. 内排序有可以分为以下几类: (1).插入排序:直接插入排序.二分法插入排序.希尔排序. (2).选择排序:简单选择排序.堆排序.