20140904 atoi字符串转化为整数源码
1、atoi源码
#include<stdio.h> #include<assert.h> bool isdigit1(char c) {if(c<='9'&&c>='0')return true;elsereturn false; } int AsciiToInt(char *str) {assert(str!=NULL); char sign='+';int total=0;int c;char *ptr=str;if(*ptr=='-'||*ptr=='+'){sign=*ptr++;}c=*ptr;while(isdigit1(c)){total=total*10+(c-'0');c=*(++ptr);}if(sign=='-')total=-total;return total; }int main() {char str[]="-1245";int sum1=AsciiToInt(str);printf("%d\n",sum1);}
2、希尔排序比直接插入排序快的原因
希尔排序的时间性能优于直接插入排序的原因:
①当文件初态基本有序时直接插入排序所需的比较和移动次数均较少。
②当n值较小时,n和 的差别也较小,即直接插入排序的最好时间复杂度O(n)和最坏时间复杂度0( )差别不大。
③在希尔排序开始时增量较大,分组较多,每组的记录数目少,故各组内直接插入较快,后来增量di逐渐缩小,分组数逐渐减少,而各组的记录数目逐渐增多,但由于已经按di-1作为距离排过序,使文件较接近于有序状态,所以新的一趟排序过程也较快。
因此,希尔排序在效率上较直接插入排序有较大的改进。
希尔排序为什么不稳定
希尔排序为什么是不稳定的呢 ?
例子 3 5 10 8 7 2 8 1 20 6
d=2 分成2组 (3 10 7 8 20) 和(5 8 2 1 6) 第一组的8在第二组的后面
排序后(3 1 7 2 8 5 10 6 20 8,现在是第一组的8在第二组前面了 这里不稳定
http://blog.csdn.net/cjf_iceking/article/details/7916194
转载于:https://www.cnblogs.com/yexuannan/p/3955590.html
20140904 atoi字符串转化为整数源码相关推荐
- 剑指offer面试题[49]-把字符串转化为整型
题目: 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以为空. 输出描述: 如果是合法 ...
- 字符串转化为整型,为0,而不是1
<?php $str = 'AAA';//NaN,undefined----int后都为0; echo (int)$str;//0 转载于:https://www.cnblogs.com/pan ...
- C语言中字符串数据转为整型数据并提取整型数据
方法一:利用库中的atoi函数,将字符类型转换为整型,则可提取出整型. #include<stdio.h> #include<string.h> int main() {cha ...
- C 库函数 - atoi() 字符串中的数字转换为一个整型
描述 C 库函数 int atoi(const char *str) 把参数 str 所指向的字符串转换为一个整数(类型为 int 型). 声明 下面是 atoi() 函数的声明. int atoi( ...
- Python处理字符串数据将其转化为整型数据
这是读取到的CAN数据段:x| 00 02 51 00 01 05 00 00 0 0 0 2 5 1 0 0 0 1 0 5 0 0 0 0 符号位 百位 十位 个位 .0 .00 符号位 百位 ...
- C语言字符串类型转换为整型,c语言中将一个字符串转换到整型数据类型的函数是什么?...
函数是:atoi(),其声明为"int atoi(char *str);".atoi函数的功能是将字符串转为整型并返回:atoi输入的字符串对应数字存在大小限制(与int类型大小有 ...
- 字符串转化为数字的函数
C++字符串转化为数字的库函数 1.atoi 功 能:把一字符串转换为整数 用 法:int atoi(const char *nptr); 详细解释:atoi是英文array to integer 的 ...
- python输入字符串转换为公式_将python字符串转化成长表达式的函数eval实例
爬一个网页时,要保存的数据都没有encode,就导致保存下来的中文都变成unicode了... 那么,怎么把一个表示字符串的unicode还原成unicode呢? 函数eval(expression) ...
- 课程作业1:字符型强制转化为整型
设计思想:题目要求是从命令行中接受多个数字,求和.而我们知道命令行中的输入的数据类型是字符型,所以必须转化为整型才能相加.所以我们的思路是:在输入字符串后,用for循环依次强制转化为整型,然后依次相加 ...
最新文章
- Leetcode | Sort List
- c语言多文件 clang,c – 具有多行函数声明参数的Clang格式问题
- 金山WPS发布了Linux WPS Office
- 利用解构赋值获取后端特定字段数据
- android java 调试快捷键_Android Studio 代码页跳界面 /java和XML快速切换技巧
- java的基础语法和数据类型,IDEA
- GoLang MySQL CRUD Example
- Java Web(1)高并发业务
- 【Python-3.3】使用while循环实现列表间数据移动
- 如何打造7*24h持续交付通道?阿里高级技术专家的5点思考
- 【ASP.NET】QQ登录,新浪微博登录。
- AI--调用百度OCR文字识别API进行图片文字识别
- php FPDF类库应用实现代码
- 12306抢票JS脚本
- Crowding Counter 之 根据.mat标注制作密度图进行训练
- Google学术无法进入的根本解决方案
- 深圳成为乌拉圭智慧城市解决方案输出地
- linux 网卡绑定team和删除team
- 计算属性,方法与监听器(3-4)
- 未使用的运算放大器如何处理?
热门文章
- Apache common包应用集合
- while用法_语法||由一句译文聊聊while的用法
- php构造函数里抛出异常_php-在类的构造函数中返回值
- mysql驱动_python3 接口测试数据驱动之操作mysql数据库
- 二十六、数据挖掘电力窃漏电用户自动识别
- 属实逼真,决策树可视化!
- 一个已经存在 10 年,却被严重低估的库
- Python新手常见错误汇总|附代码检查清单
- python ipaddress_Python3标准库:ipaddress Internet地址
- 希尔伯特曲线 java_Java中空间填充Hilbert曲线的递推算法