发布网友 发布时间:2022-04-21 21:39
共3个回答
热心网友 时间:2023-07-02 01:20
internal class Item : IComparable<Item>
{
public string Id { get; set; }
public int Count { get; set; }
public int CompareTo(Item other)
{
return this.Count.CompareTo(other.Count); // 按照Count属性排序
}
}
热心网友 时间:2023-07-02 01:20
一、sort()是c++、java里对数组的元素进行排序的方法,包含于头文件algorithm。
返回值:
对数组的引用。请注意,数组在原数组上进行排序,不生成副本。
说明:
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。 (此时不排序)
若 a 大于 b,则返回一个大于 0 的值。
程序示例:
在本例中,我们将创建一个数组,并按字母顺序进行排序:
<script type="text/javascript">var arr = new Array(6)arr[0] = "George"arr[1] = "John"arr[2] = "Thomas"arr[3] = "James"arr[4] = "Adrew"arr[5] = "Martin"document.write(arr + "<br />")document.write(arr.sort())</script>
输出:
George,John,Thomas,James,Adrew,MartinAdrew,George,James,John,Martin,Thomas
二、partial_sort 是C++STL中的函数
函数原型有:
partial_sort(beg,mid,end)
partial_sort(beg,mid,end,comp)
函数作用:
对mid-beg个元素进行排序,也就是说,如果mid-beg等于42,则该函数将有序次序中的最小值元素放在序列中
的前42个位置。partial_sort完成之后,从beg到mid(但不包括mid)范围内的元素时有序的,已排序范围内没有
元素大于mid之后的元素。未排序元素之间的次序是未指定的。
程序示例:
#include <vector>
#include <iterator>
#include <iostream>
#include <algorithm>
#include <functional>
#include <cstdlib>
#include <time.h>
using namespace std;
int rand_int()
{
return rand()%100;
}
void print(vector<int> &v,const char* s)
{
cout<<s<<endl;
copy(v.begin(),v.end(),ostream_iterator<int>(cout," "));
cout<<endl;
}
bool cmp(int &a, int &b)
{
if(a>b)
return true;
return false;
}
class compare{
public:
bool operator()(const int &a,const int &b)
{
if(a<b)
return true;
return false;
}
};
int main()
{
srand(time(NULL));
vector<int> v;
generate_n(back_inserter(v),10,rand_int);
print(v,"产生10个随机数");
partial_sort(v.begin(),v.begin()+4,v.end());
print(v,"局部递增排序");
partial_sort(v.begin(),v.begin()+4,v.end(),cmp);
print(v,"局部递减排序");
partial_sort(v.begin(),v.begin()+4,v.end(),compare());
print(v,"局部递增排序");
return 0;
}
热心网友 时间:2023-07-02 01:21
类的对象数组.OrderBy(d=>d.Id);
请百度Linq