c++ 软件版本比较函数
// 版本号拆分为数组
void splitToInt(string str , vector<int> *v1, char delim )
{
// 拆分
string strTmp;
strTmp = "";
int num = 0;
for (int i = 0;i< str.size();i++)
{
if (str[i] == '.')
{
num = atoi(strTmp.c_str());
v1->push_back(num);
strTmp = "";
}else
{
strTmp += str[i];
}
}
num = atoi(strTmp.c_str());
v1->push_back(num);
}
// 比较字符串版本
int compareVersion(string str1, string str2)
{
vector <int> v1;
vector <int> v2;
splitToInt(str1,&v1);
splitToInt(str2,&v2);
// 比较
int sizeV1 = v1.size();
int sizeV2 = v2.size();
//if(sizeV1>sizeV2) return 1;
//if(sizeV1<sizeV2) return -1;
int sizeV = sizeV1>sizeV2?sizeV2:sizeV1;
for( int i=0; i<sizeV; i++)
{
if(v1[i]>v2[i]) return 1;
if(v1[i]<v2[i]) return -1;
}
return 0;
}
c++ 软件版本比较函数的更多相关文章
- [No000099]软件版本命名规范
软件版本阶段说明 Base: 此版本表示该软件仅仅是一个假页面链接,通常包括所有的功能和页面布局,但是页面中的功能都没有做完整的实现,只是做为整体网站的一个基础架构. Alpha: 此版本表示该软件在 ...
- 【转】Ubuntu下查看软件版本及安装位置
查看软件版本:aptitude show xxx 也可用apt-show-versions (要先安装sudo apt-get install apt-show-versions) 查看软件安装位置: ...
- UBUNTU查看软件版本
1.查看已安装软件版本aptitude show softwarename 2.查看软件安装目录dpkg -L softwarename
- centos/linux alternatives与update-alternatives详解与软件版本切换
update-alternatives是linux系统中专门维护系统命令链接符的工具,通过它可以很方便的设置系统默认使用哪个命令.哪个软件版本,比如,我们在系统中同时安装了open jdk和sun j ...
- 在Ubuntu中通过update-alternatives切换软件版本
update-alternatives是ubuntu系统中专门维护系统命令链接符的工具,通过它可以很方便的设置系统默认使用哪个命令.哪个软件版本,比如,我们在系统中同时安装了open jdk和sun ...
- Ubuntu下查看软件版本及安装位置【转】
Ubuntu下查看软件版本及安装位置 查看软件版本: aptitude show xxx 也可用apt-show-versions (要先安装sudo apt-get install apt- ...
- ubuntu下升级特定软件与查看软件版本信息
ubuntu 升级软件: sudo apt-get update 更新源 sudo apt-get upgrade 更新已安装的包 sudo apt-get dist-upgrade 升级系统 ubu ...
- CentOS6安装各种大数据软件 第一章:各个软件版本介绍
相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...
- Ubuntu下查看软件版本及安装位置
查看软件版本: XXX --version 或 aptitude show xxx 也可用apt-show-versions (要先安装sudo apt-get install apt-show-ve ...
随机推荐
- Python 注释,类,属性,方法,继承
# coding=utf-8 支持中文 """ 多行注释 声明鸟类 """ class Bird(object): have_feather ...
- JAVA SE ArrayList 底层实现
Array 查询效率高,增删效率低( Link 增删效率高 Vector 线程安全 List 列表 源代码: package com.littlepage.test; /** * 基于底层实现Arra ...
- 学习笔记23—window10 64位 python2.7 安装liblinear
最近在使用pythin,因为要使用libsvm,所以到官网去下载libsvm.官网地址为libsvm(https://www.csie.ntu.edu.tw/~cjlin/libsvm/)结果下载下来 ...
- 1.TwoSum
记录被LeetCode虐的日子 第一种方法:使用枚举 /** * Note: The returned array must be malloced, assume caller calls free ...
- AtCoder Beginner Contest 110 D - Factorization
D - Factorization 思路:把相同的质因子看成相同的小球,求把这些小球放进n个盒子里的方案数. 代码: #pragma GCC optimize(2) #pragma GCC optim ...
- AtCoder Regular Contest 102 D - All Your Paths are Different Lengths
D - All Your Paths are Different Lengths 思路: 二进制构造 首先找到最大的t,使得2^t <= l 然后我们就能构造一种方法使得正好存在 0 到 2^t ...
- 算法笔记--单调队列优化dp
单调队列:队列中元素单调递增或递减,可以用双端队列实现(deque),队列的前面和后面都可以入队出队. 单调队列优化dp: 问题引入: dp[i] = min( a[j] ) ,i-m < j ...
- 动态规划-击爆气球 Burst Balloons
2018-10-03 19:29:43 问题描述: 问题求解: 很有意思的题目,首先想到的是暴力遍历解空间,当然也用到了memo,可惜还是TLE,因为时间复杂度确实有点过高了,应该是O(n!). Ma ...
- HTML 第十三章总结
前言 这一章的内容主要是处理 HTML 中的 tabular data,可以分为三个部分: 如何在 HTML 中创建表格 如何在 CSS 中 style 表格 如何在 CSS 中 style HTML ...
- 单细胞文献分析 Quantitative single-cell rna-seq with unique molecular identifers
Quantitative single-cell rna-seq with unique molecular identifers 这篇文章论证了 scRNA-seq 使用UMI来计算基因表达量的合理 ...