- 博客(20)
- 收藏
- 关注
转载 排序->冒泡排序
3.冒泡排序1.冒泡排序基本思想 数组从底部向上扫描,如果相邻的两个元素逆序,则交换两者,一次循环后,最小的元素就到了数组的顶部,堆剩下的元素执行同样的操作,直到所有元素就绪。2.代码 template <typename T>void bubble_sort(vector<T> &vec){ for(int ...
2017-04-12 15:10:00 115
转载 排序->选择排序
2.选择排序1.选择排序基本思想 选择排序就是先找到位置不合适的元素,再把它放到最终的位置上,基本思想是:先找到数组的最小元素,和第一个位置的元素交换,然后在剩余的元素中找到最小的元素,和第二个位置的元素交换......,直到所有元素都在合适的位置上。2.代码template <typename T>void select_sort(vect...
2017-04-12 15:03:00 92
转载 虚函数
1.概念 在C++中,派生类继承了基类的成员变量和成员函数,但有时,派生类不希望执行基类中定义好的某些成员函数,这时,派生类可以通过虚函数这一机制来重新定义成员函数。例如。class A{ public: virtual void fun() { cout << "A" << endl; ...
2017-04-09 21:39:00 107
转载 模板
1.函数模板1.模板概念 当一个函数进行的操作对很多类型都适用时,我们没必要重载多个函数。可以定义一个通用的函数模板。看一个栗子template <typename T>bool compare(const T &val1,const T &val2){ if(val1 > val2) return true;...
2017-04-09 19:52:00 126
转载 Linux 管道
1.管道的基本概念 管道是一种两个进程间进行单向通信的机制。当一个进程连接数据流到另一个进程时,我们使用术语管道(pipe)。通常是把一个进程的输出通过管道连接到另外一个进程的输入。2.pipe linux下管道由pipe系统调用函数创建,提供一个单向数据流。首先看一下它的原型 #include <unistd.h> int pipe(in...
2017-04-07 15:39:00 88
转载 堆结构与堆排序
#ifndef HEAP_H#define HEAP_H#include <iostream>#include <vector>using namespace std;template <typename T>class Heap{public: Heap(vector<T> &_v...
2017-04-07 14:06:00 70
转载 队列
#ifndef NODE_H#define NODE_Htemplate <typename T>class node{public: T data; node<T> *next;public: node(T _data=0) : data(_data),next(nullptr){}};...
2017-04-05 21:03:00 55
转载 栈
#ifndef NODE_H#define NODE_Htemplate <typename T>class node{public: T data; node<T> *next;public: node(T _data=0) : data(_data),next(nullptr){}};...
2017-04-05 21:02:00 72
转载 链表
#ifndef NODE_H#define NODE_Htemplate <typename T>class node{public: T data; node<T> *next;public: node(T _data=0) : data(_data),next(nullptr){}};...
2017-04-05 21:01:00 79
转载 重载
C++运算符的重载1.基本概念 运算符的重载是具有特殊名字的函数,他们的名字由关键字operator和运算符号决定重载运算符的参数数量与该运算符的运算对象数量一样多,对于二元运算符,左侧的对象传给第一个参数,右侧的对象传给第二个参数。 如果运算符函数时成员函数,第一个对象自动绑定到this指针上,所以,成员函数的参数数量比一般重载函数少一个。2.不能重载的...
2017-04-05 20:52:00 75
转载 C语言字符串操作
C语言字符串操作函数1.strlen strlen用于求一个C风格字符串的长度,函数原型为 #include <string.h> size_t strlen(const char *s);返回值为字符串的长度,当遇到'\0'时,认为字符串结束,'\0'不算入长度中。#include <stdio.h>#i...
2017-04-05 18:48:00 104
转载 进程之进程控制块与虚拟地址空间
1.进程概念 在用户层面,进程是一次程序的动态运行实例, 在操作系统层面,进程是操作系统进行资源调度和分配的基本单位,每一个进程都有自己独立的地址空间和运行状态。操作系统为进程创建了一系列的数据结构来管理进程。操作系统会为每个进程创建一个虚拟地址空间和进程控制块。2.虚拟地址空间 在32位操作系统下,一个进程最多可以拥有4G的内存空间,在早期的计算机系统中,将程...
2017-03-30 16:40:00 353
转载 从入门到小白的shell命令总结
常见的shell命令总结 本文总结部分常见的shell命令,希望像我这样的linux小白在熟悉这些命令后,能够基本应付小白阶段遇到的问题1.cd cd 后面跟上目录名,可以进入这个目录,目录写法有绝对路径与相对路径 绝对路径:以根目录开始,明确的指出要到达的目录的全名,例如 [zhaozhao@bogon mycode]$ cd /home/zhaozha...
2017-03-29 20:03:00 112
转载 系统调用与库函数,底层文件访问系统调用
系统调用和库函数与部分常见的底层文件访问系统调用1.系统调用与库函数的区别 系统调用是操作系统内核提供的函数,在内核态运行。直接使用系统调用的效率非常低,因为 1.使用系统调用会影响系统的性能,在执行系统调用时,操作系统必须从用户态切换到内核态,然后再返回用户态。频繁的切换会消耗大量的资源(需要保存上下文信息)。所以,系统调用的开销会很大。 2.硬件会限制底...
2017-03-29 18:35:00 189
转载 类的四个默认成员函数->赋值运算符重载函数
4.赋值运算符重载函数1.函数的作用,参数和返回值1.作用 赋值运算符重载函数用于类对象的赋值操作,当我们未实现该函数时,编译器会自动为我们实现该函数。2.参数 赋值运算符重载函数的参数是常引用类型的类类型,声明为常量的好处是可以接受常量参数和非常量参数,声明为引用类型使得参数没有了临时对象的生成,减少了一次拷贝构造的发生3.返回值 大部分人(包括E...
2017-03-22 22:08:00 251
转载 二叉排序树
二叉查找树1.概念 二叉排序树可以是一颗空树,或者是具有以下性质的树: 1.左子树如果不为空,左子树上所有节点的值均小于等于根节点的值 2.右子树如果不为空。右子树上所有节点的值均大于等于根节点的值 3.左右子树均为二叉排序树2.实现我们讨论二叉树的查找,插入,删除,遍历,线索化。 #ifndef BST_H#define BST_H#...
2017-03-20 21:00:00 172
转载 排序->插入排序
1.插入排序1.排序思想 插入排序的主要思想就是把每一个元素插入合适的位置,以升序来分析,首先分析前两个元素,如果data[0]大于data[1],交换他们的次序,这时,前两个元素已经是已经排好序的。考虑data[2]: 如果data[2]小于data[0]和data[1],将data[1]和data[1]都挪动一个位置。data[0]放在位置1,data[1]放在位置2...
2017-03-17 21:34:00 73
转载 类的四个默认成员函数->析构函数
3.析构函数1.析构函数的概念 析构函数可以理解为反向的构造函数,他在对象生命期结束时,调用析构函数释放对象的内存空间。具体的析构函数在这几种情况下调用: 1.堆上的空间(使用new创建的对象)调用delete时 2.本地对象超出作用域 3.临时对象的销毁 4.显式的调用析构函数2.析构函数注意事项 1.析构函数没有参数 2.析构函数不能...
2017-03-17 19:31:00 119
转载 类的四个默认成员函数->拷贝构造函数
2.拷贝构造函数1.拷贝构造函数的概念 拷贝构造函数是一种特殊的构造函数,负责类对象之间的复制,与构造函数相同,当我们没有实现拷贝构造函数时,编译器会为我们产生默认拷贝构造函数,举个栗子: class A{public: A(int _a,int _b) : a(_a),b(_b){ std::cout << "A co...
2017-03-17 18:39:00 453
转载 类的四个默认成员函数->构造函数
在C++中当你创建一个空类时,编译器会默认声明一个default构造函数,copy构造函数,一个copy assignment操作符,一个析构函数。注意,编译器只声明,只有当这些函数被调用时,他们才会被创建。 举个栗子,当你写下class Empty() {}; 实际上在编译器中为你实现了这样的代码 class Empty{...
2017-03-17 17:10:00 133
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人