04 2014 档案

算法分析---查找最大回文子串
摘要:将一个字符串倒序后,与原始字符串相同,则该字符串被称之为回文,现在给定一个较长的字符串,要求出该长字符串中包含的最长回文子串。若有多个回文串同样长,找出第一个即可。回文串判断算法:(1)设待判断字符串为str。定义两个整数i和j。i为字符串首元素下标,j为字符串最后一个元素的下标。(2)判断str[... 阅读全文

posted @ 2014-04-25 00:05 xiaogua918 阅读(450) 评论(0) 推荐(0)

算法分析---寻找丑数
摘要:什么是丑数:一个数的因子只包含2,3,5的数称为丑数。数字1特别对待也看作是丑数,所以从1开始的10个丑数分别为1,2,3,4,5,6,8,9,10,12。因子的概念:整数m除以n,得到无余数的商,则称n是m的一个因子。如8的因子有1、2、4、8。而丑数要求的因子只包含2、3、5。所以丑数中的因子应... 阅读全文

posted @ 2014-04-23 23:17 xiaogua918 阅读(206) 评论(0) 推荐(0)

算法分析---删除字符串中出现次数最少的字符
摘要:编写一个函数,删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。格式说明:字符串只包含字母,不可能为空串,不包含空格,单词只由小写英文字母组成,输入的字符串长度不会超过20个char。算法思路:(1)定义一个长度为26的整型... 阅读全文

posted @ 2014-04-23 00:34 xiaogua918 阅读(333) 评论(0) 推荐(0)

C 字符/字符串常用函数
摘要:string.h中常用函数char * strchr(char * str ,char ch);从字符串str中查找首次出现字符ch的位置,若存在返回查找后的地址,若不存在则返回NULLvoid main(){ char a[100]="abcdefg"; printf("%o\n",strchr(... 阅读全文

posted @ 2014-04-21 15:47 xiaogua918 阅读(201) 评论(0) 推荐(0)

算法分析---回文数判断
摘要:有这样一类数字,他们顺着看和倒着看是相同的数,例如:1111,1221,2332等,这样的数字就称为:回文数字。回文数的判断有多种算法,直观一点的就是将数字顺序颠倒后再与原数字进行比较,如果相等说明该数字是回文数字,如何颠倒数字的顺序便是难点。比如一个数12345。12345 % 10 得到的是个位... 阅读全文

posted @ 2014-04-18 16:43 xiaogua918 阅读(4577) 评论(0) 推荐(0)

字符数组、字符串及常量字符串详解
摘要:常量字符串:C语言中void main(){ char* p1 = "abcd"; //"abcd"是字符串常量 char* p2 = "abcd"; char* p3 = "china"; //"china"也是字符串常量 printf("p1=%o\np2=%o\np3=%o\n"... 阅读全文

posted @ 2014-04-18 09:49 xiaogua918 阅读(507) 评论(0) 推荐(0)

静态数组与动态数组的区别以及二维数组地址详解
摘要:静态数组:在编译期间在栈中分配好内存的数组,在运行期间不能改变存储空间,运行后由系统自动释放。int a[10];char b[10];float c[10];test a[10]; //test为自定义的类,定义一个包含十个test对象的数组以上都是静态数组的声明方式。需要注意的是静态数组是在编译... 阅读全文

posted @ 2014-04-16 11:08 xiaogua918 阅读(773) 评论(0) 推荐(0)

正则表达式-零宽度断言详解
摘要:零宽度断言是正则表达式中一种重要方法,它主要用于捕获指定内容之前或之后的字符串。(?:X):非捕获组它用于捕获包含某一段特征内容X的字符串,但并不捕获特征内容X比如有一字符串“ID=1234567”,仅想捕获ID的具体内容“1234567”,而不需要捕获字符串“ID=”,这里就可以用非捕获组(?:I... 阅读全文

posted @ 2014-04-15 23:24 xiaogua918 阅读(988) 评论(1) 推荐(0)

C++复制构造函数
摘要:什么是复制构造函数:复制构造函数是一种特殊的构造函数,顾名思义就是用于复制一个对象。主要出现在以下3种情况:(1)对象以值传递的形式作为函数参数。(2)对象以值传递的形式作为函数返回值。(2)用一个对象实例初始化一个新建对象。复制构造函数的参数列表必须包含一个该类对象的引用而且可以包含有默认值的其他... 阅读全文

posted @ 2014-04-15 00:16 xiaogua918 阅读(193) 评论(0) 推荐(0)

C++带参数默认值的函数
摘要:定义形式:void fun(int a = 1 ,int b = 2 ,int c = 3 ,int d = 4){ //函数定义 cout<<"a="<<a<<endl; cout<<"b="<<b<<endl; cout<<"c="<<c<<endl; cout<... 阅读全文

posted @ 2014-04-10 17:26 xiaogua918 阅读(1381) 评论(0) 推荐(0)

队列(链式存储)C++模板实现
摘要:#include using namespace std;//队列结点类template class QueueNode{ private: T data; //结点数值部分 QueueNode * next; //指向下一结点 public: QueueNode(T d=0 , Queue... 阅读全文

posted @ 2014-04-10 10:30 xiaogua918 阅读(441) 评论(0) 推荐(0)

队列(顺序存储)C++模板实现
摘要:队列:一端进行插入,另一端进行删除的线性结构,具有先进先出性。利用数组来实现队列将面临“假溢出”的情况,如下图所示:front:永远指向队首元素,队首在本文中是允许删除元素的一端rear:永远指向队尾元素,队尾在本文中是允许插入元素的一端所以引出循环队列,循环队列简单来说就是当rear=n时,将re... 阅读全文

posted @ 2014-04-09 16:57 xiaogua918 阅读(597) 评论(0) 推荐(0)

栈(链式存储) C++模板实现
摘要:#include using namespace std;//栈结点类template class stackNode{ private: T data; //结点数据部分 stackNode *next; //指向下一个结点 public: //构造函数,初始化成员变量 stackNode... 阅读全文

posted @ 2014-04-09 11:10 xiaogua918 阅读(299) 评论(0) 推荐(0)

栈(顺序存储)C++模板实现
摘要:#include using namespace std;template class stack{ private: int top; //栈顶指针 int maxLen; //栈最大长度 T *data; //用数组来创建栈 public: stack(int top_ = -1 ,... 阅读全文

posted @ 2014-04-08 21:46 xiaogua918 阅读(244) 评论(0) 推荐(0)

顺序表 C++模板实现
摘要:#include using namespace std;template class list{ private: int maxLen; //顺序表能允许的最大长度 int num; //当前表中的元素个数 T *data; //保存T类型数组首地址 public: list(in... 阅读全文

posted @ 2014-04-08 21:05 xiaogua918 阅读(267) 评论(0) 推荐(0)

链表C++模板实现
摘要:#include #include //结点模板类template class node{ private: t1 data1; //数据成员data1 t2 data2; //数据成员data2 node *next; //后继结点指针 public: node(t1 da1... 阅读全文

posted @ 2014-04-04 11:19 xiaogua918 阅读(475) 评论(0) 推荐(0)

C++ const修饰函数、函数参数、函数返回值
摘要:const修饰函数在类中将成员函数修饰为const表明在该函数体内,不能修改对象的数据成员而且不能调用非const函数。为什么不能调用非const函数?因为非const函数可能修改数据成员,const成员函数是不能修改数据成员的,所以在const成员函数内只能调用const函数。#include u... 阅读全文

posted @ 2014-04-03 19:37 xiaogua918 阅读(1131) 评论(0) 推荐(1)

C++中const修饰基本数据类型、指针、引用、对象
摘要:const修饰基本数据类型#include using namespace std;void main(){ const int a = 1; const char b = 'k'; const float c = 3.14f; //a = 2; //b = 'n'; //c = 1.2f;}c... 阅读全文

posted @ 2014-04-03 14:49 xiaogua918 阅读(1376) 评论(0) 推荐(0)

C++对象创建与释放
摘要:创建对象有以下四种形式:#include using namespace std;class A{private: int i;public: A(){ coutusing namespace std;class A{private: int i;public: A(){ coutusing nam... 阅读全文

posted @ 2014-04-03 13:30 xiaogua918 阅读(7809) 评论(0) 推荐(1)