自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux下的重要目录

系统在建立每一个目录时,都会自动为它创建两个目录文件,一个是“。”,代表该目录自己;另一个是“。。”,代表该目录的父目录,通过它取得与上级目录的联系。对于根目录,“。”和“。。”都代表其自己。下面列出主要目录,不同版本的系统中,目录结构可能存在差异/dev:系统的设备目录,其中存放着几乎所有的设备文件。/etc:存放Linux系统和大部分应用软件的配置文件。/home:用户家目录所在的目...

2019-05-13 17:46:56 646

原创 C++继承

一、继承的定义与方式继承:就是派生类(子类)继承基类(父类)的所有成员函数和成员变量。派生类也可以在原来的基础上进行扩张新的够功能。派生类=基类(成员函数+成员变量)+自己的(成员函数、变量)有上面这个表得:1、基类private成员在派生类中不管什么继承方式都是看不见的。不可见是指基类的私有成员还是被继承到派生类对象中,但是在语法上限制派生类对象不管在类里面还是类外面都是不能去访问的。...

2019-04-25 15:24:54 284

原创 C/C++内存管理

一、c/c++内存分布特点(1)栈又叫堆栈,非静态局部变量/函数参数/返回值等等,栈是向下增长的。(2)内存映射段是高效的I/O映射方式,用于装载一个共享的动态内存库。用户可使用系统接口创建共享内存,做进程间通信。(3)堆用于程序运行时动态内存分配,堆是可以上增长的。(4)数据段存储全局数据和静态数据(5)代码段–可执行的代码/只读常量。这里易错点总结:字符数组存储在栈上 ...

2019-04-15 17:55:50 129

原创 类和对象及其友元函数和static成员

一、构造函数构造函数体中的语句只能将其称作为赋初值,而不能称为初始化。因为初始化只能初始化一次,而构造函数体内可以多次赋值。初始化列表:存在于函数名和函数体的中间。以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个“成员变量”后面跟一个放在括号的初始值或表达式。class A{public: A(int a) :_a(a) {}private: int _a;};c...

2019-04-13 17:34:20 562

原创 类与对象及其this指针

C语言是面对过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。C++是基于面对对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。对象是类的实例化,类是对象的抽象。C语言中,结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数。一、类的两种定义方式:1,声明和定义全部放在类体中,需要注意:成员函数如果在类中定义,编译器可能会将...

2019-04-13 15:38:52 469

原创 c++类的默认六个成员函数

c++中默认的六个成员函数分别是:构造函数,拷贝构造函数,赋值操作符重载函数,析构函数,取地址操作符重载函数,const修饰的取地址操作符重载函数。一、构造函数:1,构造函数是一个特殊的成员函数,名字与类同名,创建类类型对象时由编译器自动调用,保证每个数据成员都有一个合适的初始值,并且在对象的生命周期内只调用一次。2,并不是开空间创建对象,而是初始化对象:函数名与类同名,无返回值,对象实例化...

2019-04-12 17:07:07 226

原创 c++单例模式

单例模式:一个类只能创建一个对象,该模式可以保证该系统中该类只有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。饿汉模式优点:简单,如果这个单例对象在多线程高并发环境下频繁使用,性能要求较高,那么显然使用饿汉模式来避免资源竞争,提高响应速度更好。缺点:可能会导致进程启动慢,且如果有多个单例类对象实例启动顺序不确定。没有办法控制多个单例之间的初始化顺序。class Sing...

2019-03-29 16:25:33 121

原创 C++书写一个String类(只有默认函数)

一个类里面有6个默认成员函数:构造函数,拷贝构造函数,赋值操作符重载函数,析构函数,取地址操作符重载函数和const修饰的取地址操作符重载函数。传统写法的String类:里面只有简单的默认构造函数,拷贝构造函数,赋值操作符重载函数和析构函数。class String{public: //构造函数 String(const char *str="") { //构造string类对象...

2019-03-28 19:55:03 366

原创 链表——面试题(1)

1、删除链表中等于给定值val的所有节点输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5思路:1,先判断链表是否为空,如果为空就返回空。2,从链表的第二个节点开始判断是否要删除。(循环)3,在判断链表的第一个节点是不是我们要删除的那个节点,如果是则要删除它。4,返回链表struct...

2019-03-21 11:22:13 146

原创 用C++书写一个简单的Date类

该类的要求:1、输入一个日期判断其是否合法2、给该日期加上或减去一个天数,返回一个日期。3、给两个日期相减,要求其返回它们之间相差的天数。4、这里也要区别一下前置++,后置++和前置- -,后置- -的区别。5、输入两个日期进行比较然后,返回一个bool型。class Date{public: Date(int year = 1900, int month = 1, int da...

2019-03-20 16:05:41 379

原创 常见的排序——归并排序

归并排序基本思想:将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段有序。开辟一个数组用来存放,我们要排的数据。将数组分为两区间,用递归进行对这两个区间数组进行排序,然后去合并它们(合并和链表的合并一样)直到它们有序为止。void Merger(int array[], int left, int mid, int right, int *exter){ int l...

2019-03-14 19:33:23 192

原创 常见的排序——交换排序(快速排序非递归版和冒泡排序)

交换排序交换排序分为快速排序和冒泡排序,就是根据序列中两个值的比较结果来对换这两个数在序列中的位置,特点就是较大值向尾部移动,较小值向前部移动。冒泡排序:基本思路:每次比较将最大的值放在最后面,然后一共比较size-1趟,然后每次在比较size-i次。void BubbleSort(int array[], int size){ for (int i = 1; i < size; i...

2019-03-14 14:35:07 176

原创 常见的排序——交换排序(快速排序递归版)

交换排序交换排序分为快速排序和冒泡排序,就是根据序列中两个值的比较结果来对换这两个数在序列中的位置,特点就是较大值向尾部移动,较小值向前部移动。快速排序基本思路为:任取待排序元素序列中的某元素作为基准值,按照该排序码将待排序集合分割成两个子序列,左子序列中所有元素均小于基准值,右子序列中所有元素均大于基准值。然后采用分治的思想,把一个问题变成两个同样小问题(用递归去解决)。//进行找基准值,代...

2019-03-14 14:22:31 431

原创 常见的排序——选择排序(直接选择排序和堆排序)

选择排序选择排序又分为直接选择排序和堆排序,这里我们来写升序的排序。直接选择排序其基本思想,每一次从待排序的数组元素中选出最小(或最大)的一个元素,存放在序列的起始,然后遍历比较每次将最小(最大)的放在前面直到待排序的数据排完。//交换值void Swap(int *a, int *b){ int temp = *a; *a = *b; *b = temp;}void Selec...

2019-03-14 12:37:56 226

原创 常见的排序——插入排序(直接插入排序和希尔排序)

插入排序:插入排序分为直接插入排序、希尔排序。希尔排序是直接插入排序的优化算法。直接插入排序基本思想是:把待排序的数按照其大小逐个插入到已经排序好的有序序列中,直到所有的插入结束得到一个新的序列。void InsertSort(int array[], int size){ for (int i = 1; i < size; i++){ int k = array[i]; i...

2019-03-14 11:33:54 306

原创 如何区分计算机系统的大小端?

大端存储模式:数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;小端存储模式:数据的低位保存在内存的低地址中,而数据的高位,保存在内存的高地址中;举例说明大小端:如一个字节为8个bit位,则int型为32bit,其值为OX11223344,对于小端而言,OX11为高字节,OX44为低字节。对于大端而言,OX11放在低位中,OX44放在高位中。代码一:int check_s...

2019-03-06 16:04:19 597

原创 c语言操作符总结

c语言共有34种运算符。 下面就这几种运算符,进行归类从优先级高到低排列。以及对一些特殊初学者不太常用的运算符进行举例。一、初等运算符()圆括号,[]下标运算符,->指向结构体成员运算符,. 结构体运算符。结合性从左向右{struct teacher tea;struct teacher *p=&tea;//结构体成员访问tea.age=35;set_age1(te...

2018-11-14 19:14:12 248 1

原创 猜数字小游戏

《猜数字游戏》使用调用C函数库,本题重点就是游戏框架。#include<stdio.h>#include<stdlib.h>#include<time.h>void menu()//菜单栏目{ printf("****************************\n"); printf("******0.quit play********...

2018-10-29 18:25:11 130

空空如也

空空如也

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

TA关注的人

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