自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 【初级】面向过程和面向对象区别

C语言是面向过程的,而C++,python,java,Go是面向对象的— 面向过程的编程思想将一个功能分解为一 个一个小的步骤,我们通过完成一个一 个的小的步骤来完成一个程序。优点:这种编程方式 ,符合我们人类的思维,编写起来相对比较简单缺点:但是这种方式编写代码的往往只适用于一个功能;如果要在实现别的功能,即使功能相差极小,也往往要重新编写代码,所以它可复用性比较低,并且难于维护。例子:一孩子上学1.妈妈起床2.妈妈洗漱3.妈妈做早饭4.妈妈叫孩子起床5.孩子要洗漱6.孩子吃饭7.

2022-05-06 14:32:20 101

原创 多路转接IO——Select模拟实现

Selectselect系统调用是用来让我们的程序监视多个文件描述符的状态变化的;程序会停在select这里等待,直到被监视的文件描述符有一个或多个发生了状态改变;select函数原型int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); 参数nfds是需要监视的最大的文件描述符值+1;rdset,wrset,exset分别对应于需要检测的可读文件描

2020-07-30 17:48:18 138

原创 C++继承和多态(三)

6.复杂的菱形继承及菱形虚拟继承单继承:一个子类只有一个直接父类时称这个继承关系为单继承多继承:一个子类有两个或以上直接父类时称这个继承关系为多继承菱形继承:菱形继承是多继承的一种特殊情况。菱形继承的问题:从下面的对象成员模型构造,可以看出菱形继承有数据冗余和二义性的问题。在Assistant的对象中Person成员会有两份。class Person{public :string _name ; // 姓名};class Student : public Person{prot

2020-07-30 10:12:34 177

原创 C++继承和多态(二)

4.派生类的默认成员函数①派生类的构造函数必须调用基类的构造函数初始化基类的那一部分成员。如果基类没有默认的构造函数,则必须在派生类构造函数的初始化列表阶段显示调用。②派生类的拷贝构造函数必须调用基类的拷贝构造完成基类的拷贝初始化。③派生类的operator=必须要调用基类的operator=完成基类的复制。④派生类的析构函数会在被调用完成后自动调用基类的析构函数清理基类成员。因为这样才能保证派生类对象先清理派生类成员再清理基类成员的顺序。⑤派生类对象初始化先调用基类构造再调派生类构造。⑥派生类

2020-07-29 21:41:33 101

原创 C++继承和多态(一)

1.继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用。class Person{public:void Print(){cout << "name:" << _name << endl;cout << "age:

2020-07-29 20:06:03 216

原创 二叉搜索树的简单实现

二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:1.若它的左子树不为空,则左子树上所有节点的值都小于根节点的值2.若它的右子树不为空,则右子树上所有节点的值都大于根节点的值3.它的左右子树也分别为二叉搜索树#pragma oncetemplate<class K>struct BSTreeNode // Binary Search Tree Node{ BSTreeNode<K>* _left; BSTreeNode<K>* _

2020-07-29 19:40:46 163

原创 CentsOS版本 git出现443

关于git push/git clone/ping www.github.com失败的问题昨天打算git push一下自己虚拟机上的代码出现了下面状态[qc@localhost Linux]$ git pushfatal: unable to access 'https://github.com/Amos-Q/Linux.git/': Failed connect to github.com:443; Connection refused同样ping也不通[qc@github Linux]$

2020-07-08 12:23:51 602

原创 二叉树的实现

通过前序遍历的数组"ABD##E#H##CF##G##"构建二叉树头文件 BTree.h#ifndef _BTREE_H#define _BTREE_Htypedef char BTDataType;typedef struct BinaryTreeNode{ BTDataType data; struct BinaryTreeNode* lchild; struct Bina...

2020-03-18 10:34:21 169

原创 堆的实现

堆的性质1.堆中某个节点的值总是不大于或不小于其父亲节点的值;2.堆总是一颗完全二叉树。堆的实现tree.h#define _CRT_SECURE_NO_WARNINGS 1#pragma once#include <stdio.h>#include <stdlib.h>#include <string.h>#include <asse...

2020-03-03 12:13:04 163

原创 数据结构--线性表

1、前言线性表是最常用且是最简单的一种数据结构。形如:A1、A2、A3….An这样含有有限的数据序列,我们就称之为线性表。2、线性表的两种表示形式①顺序表示(其实就是数组)②链表表示(单项/双向,带头/不带头,循环/不循环)可组成八种不同的链表形式3 、 最简单基本的不带头单项不循环链表①基本运算的实现#include<stdio.h>#include<stdl...

2019-12-16 11:10:16 196

原创 Linux常用命令

Linux操作系统下操作命令格式一般为命令名称 [操作选项][操作对象]1.目录相关命令①pwd:显示自己当前目录(显示的为绝对路径)Linux下目录结构唯一(树形结构)/home/san 绝对路径-(唯一路径,起始地址从根目录开始)./san 相对路径(从当前路径开始表达)②ls:显示当前目录文件信息ls [指令] [目录]指令:-a(显示当前目录下隐藏文件)-l(查看文件...

2019-12-11 19:10:14 70

原创 一级指针/二级指针/数组指针/指针数组

指针计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为"指针"。意思是通过它能找到以它为地址的内存单元。 在高级语言中,指针有效地取代了在低级语言,如汇编语言与机器码,直接使用通用暂存器的地方,但它可能只适用于合法地址之中。...

2019-11-17 13:25:40 229

原创 字符内存函数的应用

字符函数(character function)是处理字符型数据的函数,其自变量或函数值中至少有一个是字符型数据。1.strcpy 字符串的复制①char *strcpy( char *dst, const char *str )将src字符串复制到dst上,由于dst参数是被修改的,所以他必须是一个字符数组或者是一个指向动态分配内存的数组的指针,不能使用字符串常量。新的字符串以’\0’结尾...

2019-11-13 17:53:30 89

原创 C语言操作符

操作符:算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符1.算术操作符+ - * / %%只能对整数操作要表示小数则应以 1.0 / 6 表示;2.移位操作符<< >>内存中整数以补码的形式储存:正整数 补码=原码;负整数 原码除了符号位,其余0变1,1变0转换为反码,反码加1为原码。右移...

2019-10-16 18:53:02 149

原创 扫雷问题(可实现展开)

1.代码要实现几个功能:第一下扫雷时,即使踩中了雷也不能直接炸死;扫雷时,坐标周围没有雷的地方可以实现展开;2.程序结构图3.分析游戏,建立两个棋盘,一个放置雷一个用户游戏界面4.test.c#define _CRT_SECURE_NO_WARNINGS 1#include "game.h"void menu(){ printf("*******************...

2019-10-15 17:46:36 1272 1

原创 C语言三子棋

首先先了解三子棋规则1.双方一人一手2.不可下在已经下过的地方3.三子练成及判赢或棋盘下满判平局开始编程1.编程可按照其规则编写,分析其规则可建立三个模块(头文件game.h,游戏文件game.c和测试test.c)测试文件test.c开始进行选择#define _CRT_SECURE_NO_WARNINGS 1#include "game.h"void menu(){ p...

2019-10-11 19:25:41 89

原创 C语言中字符和字符串

字符和字符串是C语言中常见问题什么叫字符和字符串例:1.char a[] = 'a';2.char b[] = "abcde";3.char arr[] = {'a','b','c'};C语言中定义由单引号 ‘ ’ 括起来的叫做字符(例1)由双引号 “ ” 括起来的叫做字符串(见例2),同时也可以由(例3)表示字符串中输出常见问题char arr1[] = "abc";cha...

2019-09-17 17:30:51 784

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除