字符串字典顺序比较

2012-11-03 14:40:06 · 作者: · 浏览: 381
  /使用迭代器进行字典顺序比较
  
  template <typename Iterator>
  
  bool Compare(Iterator first1, Iterator last1, Iterator first2, Iterator last2)
  
  {
  
  for (; first1 != last1 && first2 != last2; ++ first1, ++ first2)
  
  {
  
  if (*first1 < *first2)return true;
  
  if (*first2 < *first1)return false;
  
  }
  
  // 判断是否第一个串长度小于第二个串长度
  
  return first1 == last1 && first2 != last2;
  
  }
  
  // 字符串比较,str1 < str2 返回true
  
  bool StrCmp(const char * str1, const char * str2)
  
  {
  
  assert(NULL != str1);
  
  assert(NULL != str2);
  
  return Compare (str1 , str1 + strlen(str1), str2, str2 + strlen(str2));
  
  }