
C/C++
文章平均质量分 74
奇颖润华
这个作者很懒,什么都没留下…
展开
-
字符串转换为整数(atoi)与整数转换成字符串(itoa)的实现
字符串转换成整数思路(atoi):如有空白符,则跳过;如有符号,则记录符号并跳过;取整数部分并执行转换(循环累加) int myatoi(char str[]) { int sign,n,i; for(i=0;isspace(str[i]);i++) //跳过空白符 ; sign=(str[i]=='-')?-1:1; //检查符号 if(str[i]=='+'||原创 2013-10-26 22:20:04 · 773 阅读 · 0 评论 -
字符串函数的实现(StrLen、StrCpy、StrCat、StrReverse)
行万事,不可舍本逐末。如何写出有质量的基本函数,也是重中之重!本文主要涉及以下四个基本字符串函数的实现: 1、求给定字符串的长度(StrLen); 2、字符串的拷贝(StrCpy); 3、字符串的连接(StrCat); 4、字符串的反转(StrRev). int StrLen(char *str) { if (str==NULL) retu原创 2013-10-25 16:06:53 · 748 阅读 · 0 评论 -
两个有序数组交集与并集的实现
有序数组的交集:分别从前向后遍历,如果相等则保存,否则将较小数对应的数组向后继续遍历,直到有一个数组遍历结束. void intersection(const vector& v1,const vector& v2,vector& des)//求交集 { int i,j; i = j = 0;//定位到2个有序向量的头部原创 2013-10-27 22:12:24 · 2472 阅读 · 0 评论 -
求数组的子数组之和的最大值问题的实现
本题源自编程之美,也是2006年微软亚研院的笔试题,下面直接给出最优算法的思路及代码 基本思路:用sum保存当前的计算值,用max保存最终的最大值。那么从数组的第一个元素向后扫描,当sum>0时则继续累加,当summax,则将其值赋给max,算法如下: int maxSum(int a[n]) { int max=a[0]; //全负情况,返原创 2013-10-25 21:52:19 · 465 阅读 · 0 评论 -
左旋转字符串的实现(将字符串前面的k个字符移动到字符串的尾部)
1、左旋转字符串(2010年全国研究生入学考试真题) 描述:将字符串前面的k个字符移动到字符串的尾部,设字符串的长度为n. 一般思路:每次将数组中元素左移一位,循环k次技术,代码如下: char *test(char str[],int k) { if(str==NULL) return 0; //判空操作,养成良好的编程习惯 int N=strlen(str); wh原创 2013-10-25 21:04:26 · 1139 阅读 · 0 评论