首页 > 其他 > 详细

比较两个序列字典序(lexicographicallySmaller)

时间:2014-08-31 13:03:31      阅读:428      评论:0      收藏:0      [点我收藏+]

 

 1 bool lexicographicalSmaller(vector<int> a, vector<int> b)
 2 {
 3     int n = a.size();
 4     int m = b.size();
 5     for(int i = 0; i < n && i < m; i++)
 6     {
 7         if(a[i] < b[i]) return true;
 8         else if(b[i] < a[i])    return false;
 9         return i == n && i < m;
10     }
11 }

模板化(应用于定义了“小于”运算符的任意数据类型)

bubuko.com,布布扣
 1 template<class T>
 2 bool lexicographicalSmaller(vector<T> a, vector<T> b)
 3 {
 4     int n = a.size();
 5     int m = b.size();
 6     for(int i = 0; i < n && i < m; i++)
 7     {
 8         if(a[i] < b[i]) return true;
 9         else if(b[i] < a[i])    return false;
10         return i == n && i < m;
11     }
12 }
View Code

有了模板函数,不管定义的是vector<int>a, b, vector<string>a, b, vector<vector<int> >a, b,全都可以用if(lexicographicalSmaller(a, b))...的方式直接使用上述函数。

比较两个序列字典序(lexicographicallySmaller)

原文:http://www.cnblogs.com/LLGemini/p/3947478.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!