
C++
文章平均质量分 86
yunchow
正在研究嵌入式开发,有这方面爱好的朋友请加我QQ:274781962
展开
-
C++用递归解决汉诺塔问题
递归确实是一个不错的算法,可以将原来很复杂的问题简化.这里要注意的就是要确定一个出口条件.不然会出现段错误,,也就是栈溢出. 汉诺塔问题这里不再赘述,而它的出口条件也就是移动一个盘子,从源地址移动到目的位置.而如果要用递归的方法来实现就要将移动的方法简化,我们先考虑移动n-1个盘子,从源移动到临时位置,然后还剩下一个盘子,就将其移动到目的位置即可. 但是用递归也有一定的缺点,它比较...2009-05-18 21:54:04 · 529 阅读 · 0 评论 -
C++拷贝构造函数与运算符重载
拷贝构造函数与运算符的重载* 多态 - 前堤:继承,虚函数,指针或引用 - 类型转换 : dynamic_cast 把父类*转换成子类* - 纯虚函数 : 保证此函数一定不会被执行,抽象类,不能创建对象.* 友元 - 内部授权,不是成员,这一点很重要,因此也没有this,与之相关的一切也没有. - 打破封装,必须有一个类的内部声明,可访问任何成员通...2009-05-26 20:32:02 · 141 阅读 · 0 评论 -
C++之I/O
* 重载 + 拷贝构造函数A(const A& o)会把原对象原样复制一份. + 运算符重载 - 单目 - 双目 - 特殊------------------------------* I/O流(iostream)I 输入 从控制台(文件)读取O 输出 向控制台(文件)写牢牢记住: 文件和控制台的IO是完全统一的.数据的传输叫流所有的...2009-05-27 21:26:20 · 98 阅读 · 0 评论 -
c++链表 异常 内部类 输出格式控制
C(控制台) F(文件)---------------------------------------------* I[code="c++"] cin ifstream fin(文件名) fin.close() cin>> fin>> cin.get(/*char&*/) fin.get(/*char&*/) getline(cin/fin...2009-05-29 21:36:40 · 169 阅读 · 0 评论 -
C++算法与二叉树的实现
* 输出格式控制 + 成员函数:width fill pricision setf/unsetf + 格式控制符:endl/flush/setw/setf/sefpricision + 文件打开方式:ios::out/ios::in/ios::app/ios::binary(for windows) + open ofstream fout;fout.open(文件名);/...2009-05-30 18:35:08 · 129 阅读 · 0 评论 -
c++排序算法与模板和STL
* 冒泡排序 一轮比较所有相邻数据对,如果顺序不合适就交换,本轮只要发生过交换就再来一轮.[code="c++"]#include using namespace std;#include typedef int T ;void sort(T a[], int n){ bool bSwap = false; do{ ...2009-05-31 13:32:34 · 137 阅读 · 0 评论 -
C++容器与迭代器
* 容器的迭代器还有几种: + iterator:正常迭代器(常用) + reverse_iterator:反向迭代器(有时也用) - rbegin(),rend()//返回反向迭代器 + const_iterator:常量迭代器 + const_reverse_iterator:[code="c++"]iterator find(数据){ for(...2009-06-01 17:55:32 · 138 阅读 · 0 评论 -
快速排序完整示例
[code="c++"]#include using namespace std;template< typename T >void sort( T* a, int n){ if(n1]); T flag = a[0];//保存分界值 T* left = a+1; T* right = a+n-1; ...2009-06-01 21:04:05 · 135 阅读 · 0 评论 -
用c++实现二叉树增删改查和快速排序算法
[code="c++"]//快速排序#include using namespace std;#define N 10240template< typename T >void sort( T* a, int n ){ if(n>1] ); T v = *a; T* left = a+1; T* rig...2009-06-02 13:18:43 · 497 阅读 · 0 评论 -
C++多态与类型转换
c++中字符串的处理,用string进行处理,实际上它是一个类.[code="c++"]string name;name.size();name.c_str();[/code]因此这里的name就是一个对象.name[下标],这样写不表示它是一个数组.char s[100] = "Hello";//应该是存在了栈空间里char* p = "Hello";//字符串存...2009-05-25 17:10:07 · 402 阅读 · 0 评论 -
类的继承
1,如何定义,实现一个类[code="c"]class Time{ const int n;//不能通过设置,可以利用初始化列表进行初始化 int hour; int minute; int second;public: Time( int h=0, int m=0, int s=0 ):n(0){ hour = h; minute = m; se...2009-05-24 09:42:20 · 199 阅读 · 0 评论 -
c++ 递归实例二
[code="c"]#include //using namespace std;void show(unsigned int n);int main(void){ for(;;) { int t; cout > t; if(t < 0) break; else { cout2009-05-18 22:37:32 · 110 阅读 · 0 评论 -
C++用递归解决汉诺塔问题(续)
[code="c"]#include using namespace std;void move(int top,int n,char src,char dst,char tmp){ if(1==n) cout2009-05-19 12:16:10 · 124 阅读 · 0 评论 -
数组本质
数组是一片连续的内存空间,定义时一般指明大小和类型,这样编译器才能给其分配空间. 把数组名当数组用的时候,它仅仅是一个地址,可通过sizeof()函数来进行测试得到. 函数的形参如果是一个数组,在函数中将无法知道有多少个元素.所以在函数的形参是数组的时候我们会再传一个参数,此数组的元素的个数,这样才能很好的工作,[code="c++"]#include using names...2009-05-21 18:52:27 · 156 阅读 · 0 评论 -
C++指针
C++ 里有字符串类型string ,最大可支持1G,可用string.size()求得长度而数组长度要用strlen(...)方能求出.字符数组要用strcpy()进行赋值,而string 类型变量可直接用'='进行赋值相应的strcat()可替换成'+=',strcmp()==0可替换成'==','>',由此C++比C方便的多.我们利用string name;name.c_st...2009-05-22 19:22:39 · 103 阅读 · 0 评论 -
c++指针续
[code="c"]//常指针,或叫定指针:指针指向一个规定的地址,不能指向别处//常指针表示这个指针是常量.就像指南针,不能修改.int * const p;//常指针,禁止修改*Pint n;p = &n; //这样写可以,但是不能通过*p来修改nconst int * q; //指向常量的指针const int * const r; //指向常量的常指针...2009-05-23 11:16:14 · 122 阅读 · 0 评论 -
C与C++中的time相关函数
本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元)1.概念 在C/...原创 2009-05-23 14:03:19 · 452 阅读 · 0 评论 -
C++ 面向对象
* 指针简单总结[code="c"]//接受命令行参数的函数int main( int argc/*字符串的个数,>=1*/, char * argv[]/*指向字符串*/ ){ //参数的个数:argc-1 //参数:argv[1~n] cout second = s;}void tick( Time* p ){ long t = time(NULL)...2009-05-23 15:40:12 · 85 阅读 · 0 评论 -
面向对象编程
[code="c++"]//倒计时#include #include using namespace std;class Clock{ int h; int m; int s;public : void set( int h, int m , int s ); void tick();...2009-05-23 19:20:00 · 85 阅读 · 0 评论 -
UC++之目录和文件操作
* UC + 文件系统 - 目录操作 - 文件操作 + 多进程 - 进程间关系 - 进程间通信 + 网络通信 - 基础知识 - 实践(tcp/udp)QT,KDE: Linux环境下的图形环境编程=================================================================* 环境变量...2009-06-05 11:55:15 · 298 阅读 · 0 评论