C# sort函数怎么用

发布网友 发布时间: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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com