diff --git a/inc/hgl/type/DataArray.h b/inc/hgl/type/DataArray.h index a9ee09a..93e6f5d 100644 --- a/inc/hgl/type/DataArray.h +++ b/inc/hgl/type/DataArray.h @@ -8,7 +8,7 @@ namespace hgl /** * 数据阵列 */ - template class DataArray + template class DataArray:Comparator> { protected: @@ -34,6 +34,21 @@ namespace hgl T * end ()const{return items+count;} ///<取得阵列结束地址指针 T * last ()const{return items+(count-1);} ///<取得阵列最后一个数据地址指针 + const int compare (const DataArray &vil)const override + { + if(count==vil.count) + return hgl_cmp(items,vil.items,count); + + int cmp_count=hgl_min(count,vil.count); + + int result=hgl_cmp(items,vil.items,cmp_count); + + if(result) + return(result); + + return count-vil.count; + } + public: /**