- 博客(31)
- 收藏
- 关注
原创 C和C++实现线性表
c语言实现线性表#include <stdio.h>#include <malloc.h>#define MAXSIZE 10#define ERROR 0#define OK 1typedef int Status;typedef int ElemType;// 元素结点typedef struct Node{ ElemType* data; i...
2019-10-13 21:18:56 354
原创 C和C++实现单链表
c语言实现单链表#include <stdio.h>#include <malloc.h>#define ERROR 0#define OK 1typedef int Status;// 数据元素类型typedef int ElemType;// 数据结点typedef struct Node{ ElemType value; struct No...
2019-10-13 21:18:47 307
原创 c和c++实现数据结构栈
C语言实现数据结构栈c语言实现顺序栈完整可运行代码#include <stdio.h>#include <malloc.h>#define OK 1#define ERROR 0#define MAXSIZE 5typedef int status;typedef int ElemType;typedef struct{ ElemType data[...
2019-10-13 21:18:36 268
原创 c++实现优先队列
优先队列优先队列是计算机科学中的一类抽象数据类型。优先队列中的每个元素都有各自的优先级,优先级最高的元素最先得到服务;优先级相同的元素按照其在优先队列中的顺序得到服务。优先队列往往用堆来实现。典型实现出于性能考虑,优先队列用堆来实现,具有O(log n)时间复杂度的插入元素性能,O(n)的初始化构造的时间复杂度。如果使用自平衡二叉查找树,插入与删除的时间复杂度为O(log n),构造二叉树的...
2019-09-11 20:47:25 3279
原创 C++对象内存布局
测试环境:MSVC2013 32位无继承并且不含虚函数#include <iostream>using namespace std;class A{private: int m_a; int m_i;};int main(){ A a; return 0;}对象及其成员内存地址,这里成员在对象中排列顺序和成员定义顺序有关,由于是int类型所以相...
2019-09-10 14:31:48 249
原创 树的深度和高度
定义深度:对于任意节点n,n的深度为从根到n的唯一路径长,根的深度为0;高度:对于任意节点n,n的高度为从n到一片树叶的最长路径长,所有树叶的高度为0;...
2019-09-07 14:13:47 2446
原创 Win10 Telnet连接Linux(Centos7.0)
win配置(启用客户端连接)控制面板==》程序==》程序和功能==》启用或关闭Windows功能==》勾选Telnet Client(Telnet客户端)==》确定Linux配置(CentOS7.0)大多数Linux是没有安装Telnet服务的,我们要先安装Telnet服务安装(root权限下)安装xinetd服务(托管服务。又名:超级守护进程)yum install xin...
2019-09-07 12:50:14 2328
原创 双向循环链表
#include <iostream>using namespace std;template <typename T>class DualCircleLinkList{private: //数据节点 struct Node { T value; Node* next; Node* pre...
2019-05-25 14:26:41 188
原创 双向链表
代码示例:#include <iostream>using namespace std;template <typename T>class DualLinkList{private: struct Node { T valve; Node* pre; Node* next; }; ...
2019-05-21 15:32:05 206
原创 选择排序,冒泡排序,插入排序
代码示例:#include <iostream>using namespace std;template <typename T>void Swap(T& a, T& b){ T temp = a; a = b; b = temp;}//选择排序template <typename T>void se...
2019-05-20 20:12:30 208
原创 动态数组类
DynamicArray.cpp代码示例#include <iostream>using namespace std;template <typename T>class DynamicArray{private: T* m_array; int m_length; public: DynamicArray(int ...
2019-05-20 19:57:46 901
原创 静态数组类
StaticArray.cpp代码示例#include <iostream>using namespace std;template <typename T, int N>class StaticArray{private: T* m_array; T m_space[N]; public: StaticArray() ...
2019-05-20 19:47:35 571
原创 c++ 实现单例模式 懒汉式,饿汉式
所谓单例模式:这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。懒汉式:指全局的单例实例在第一次被使用时构建。#include <iostream>#include <pthread.h>...
2019-05-12 15:11:21 1375
原创 centos7.0 gdb调试出现 Missing separate debuginfos, use: debuginfo-install glibc-2.17-55.el7.x86_64
使用管理员用户输入:vim /etc/yum.repos.d/CentOS-Debuginfo.repo然后把eanabled改成1然后保存退出::wq联网状态下继续执行 debuginfo-install glibc-2.17-55.el7.x86_64之后下载安装完成后再执行gdb调试就正常了,问题解决...
2019-03-13 11:01:25 700
原创 centos7.0卸载vscode
卸载命令:sudo yum remove code联网状态下安装命令1, sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc2 ,sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.mic...
2019-03-13 00:01:36 2472
原创 如何设置Qt Creater添加新文件时首字母为大写步骤
工具–>选项–> c++ -->文件命名–>把Lower case file names前面的对勾取消即可如图:
2018-12-09 21:15:54 645
转载 重载 前置++与后置++
重载 前置++与后置++不同于普通的双目运算符“+/-”,自增自减运算符“++/–”在重载的时候需要额外留意区分是前置式还是后置式。现行的处理方法是,(作为成员函数的)前置“++”不接受任何参数,而后置“++”接受一个int类型的参数,尽管没什么实际用途,但是却为编译器确定重载对象提供了帮助。除了区分的时候需要注意,他们的行为也是有所区别的。援引More Effective C++中的话,前...
2018-11-25 18:37:48 1250
原创 柔性数组与union
柔性数组 - 柔性数组即数组大小待定的数组 - C语言中可以由结构体产生柔性数组 - C语言中结构体的最后一个元素可以是大小未知的数组struct Flexible_Array{ int len; int array[];}Flexible_Array中的array仅仅是一个待使用的标识符,不占用存储空间代码示例:#include<stdio.h&...
2018-11-06 18:28:31 348
转载 this指针
- this指针基础介绍 =================this指针的由来====================一个学生可以有多本书一样,而这些书都是属于这个同学的;同理,如果有很多个同学在一起,那么为了确定他们的书不要拿混淆了,最好的办法我想应该就是每个同学都在自己的书上写上名字,这样肯定就不会拿错了。同理,一个对象的多个成员就可看作是这个对象所拥有的书;而在很多个对象中间,我...
2018-11-01 20:54:02 286
原创 指针阅读技巧
int (*(*p1)[5])(int*); ==> p1是一个指针,数组指针,指向的数组有5个元素,这5个元素为 指针,是函数指针,指向的函数类型为int(int*) ==> typedef int(FuncType)(int*); typedef FuncType*(ArrayType)[5]; ArrayType*...
2018-09-28 17:26:25 205
原创 函数与指针分析
函数类型 - C语言中的函数有自己特定的类型 - 函数的类型由返回值,参数类型和参数个数共同决定 int add(int i, int j)的类型为 int(int, int) -C语言中通过typedef为函数类型重命名 typedef type name(parameter list) -例如: typedef int f(int, int...
2018-09-26 18:19:16 137
原创 数组参数和指针参数
数组参数退化的意义C语言中只会以值拷贝的方式传递参数当向函数传递数组时: - 将数组名看做常量指针传数组首元素地址 - 参数传递的时候如果拷贝整个数组执行效率将大大下降 - 参数位于栈上,太大的数组拷贝将导致栈溢出二维数组参数二维数组参数同样存在退化的问题-二维数组可以看做是一维数组-二维数组中的每个元素时一维数组二维数组参数中第一维的阐述...
2018-09-25 11:37:40 404
原创 多维数组和多维指针
指向指针的指针指针的本质是变量指针会占用一定的内存空间可以定义指针的指针来保存指针变量的地址值int main(){ int i = 0; int* p = NULL; int** p = NULL; pp = &p; *pp = &i; return 0;}代码示例(功能 : 重置动态空间大小)#include <stdio....
2018-09-23 15:05:03 205
原创 数组指针和指针数组
数组类型-C语言中的数组有自己特定的类型-数组的类型由元素类型和数组大小共同决定 --int array[5]的类型为int[5]定义数组类型-C语言通过typedef为数组类型重命名 --typedef type(name)[size]-数组类型: --typedef int(AINT)[5]; typedef float(AFLOAT10)[10];...
2018-09-20 17:44:46 330
原创 C语言中的字符串
字符串的概念 - 字符串是有序的集合 - 字符串是程序中的基本元素之一 - C语言中没有字符串的概念 -- C语言中通过特殊的字符数组模拟字符串 --C语言中的字符串是以'\0'结尾的字符串数组字符数组与字符串-在C语言中,双引号引用单个或多个字符是一种特殊的字面量 -- 存储于程序的全局只读存储区 -- 本质为字符数组,编译器自动在结尾加'\0'字符...
2018-09-17 19:34:01 312
原创 指针和数组对比分析
数组的本质-数组是一段连续的内存空间-数组的空间大小为sizeof(arry_type)* array_size-数组名可看做指向数组第一个元素的常量指针问题思考: 1. a+1的意义是什么?结果是什么? 2. 指针运算的意义是什么?结果是什么?代码示例:#include &lt;stdio.h&gt;int main(){ int ...
2018-09-16 19:20:31 302
原创 数组的本质分析
数组的概念数组是相同类型的变量的有序集合 int s[6]; s代表数组第一个元素的起始地址。 每个匀速都是int型数据 这24个字节空间的名字为s,s[0],s[1]都是s中的元素,并非元素的名字,数组中的元素没有名字。数组的大小 1.数组在一片连续的内存空间中存储元素 2.数组元素的个数可以显示或隐式指定例如: int s[6] = {1,2...
2018-09-15 12:15:54 462
转载 全局变量与局部变量的区别
转自:http://blog.sina.com.cn/s/blog_4aae007d0100inxi.html一、变量的分类 变量可以分为:全局变量、静态全局变量、静态局部变量和局部变量。按存储区域分,全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域,局部变量存放在内存的栈区。 按作用域分,全局变量在整个工程文件内都有效;静态全局变量只在定义它的文件内有效;静态局部变量只在...
2018-09-15 10:03:08 1988
原创 珠玑妙算
#include<stdio.h>#include<ctype.h>#include<time.h>#include<stdlib.h>#include<string.h>void make4digits(int x[]){ int i, j, val; for( i = 0; i < 4; i++){...
2018-09-11 10:20:36 764
原创 字节对齐
内存对齐为什么需要内存对齐?CPU对内存的读取不是连续的,而是分成块读取的,块的大小只能是1,2 ,4 ,8 ,16…字节当读取操作的数据末尾对齐,则需要两次总线周期来访问内存,因此性能会大打折扣某些硬件平台只能从规定的相对地址读取特定类型的数据,否则产生硬件异常什么是内存对齐?不同类型数据在内存中按照一定的规则排列不一定是顺序的一个接一个的排列struct A{...
2018-09-10 18:27:44 291
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人