自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(447)
  • 资源 (4)
  • 收藏
  • 关注

原创 Go结构体

struct类型是值类型Go语言没有class类型,只有struct类型定义var stu Studentvar stu *Student = new (Student)var stu *Student = &Student{}golang中的struct没有构造函数,一般可以使用工厂模式来解决这个问题Package modeltype studen...

2018-06-22 11:41:13 508

原创 Go语言插入排序(包括shell希尔排序)

package mainimport ( "fmt")/*插入排序不适合对于数据量比较大的排序应用。但是,如果需要排序的数据量很小,比如量级小于千,那么插入排序还是一个不错的选择。 插入排序在工业级库中也有着广泛的应用,在STL的sort算法和stdlib的qsort算法中,都将插入排序作为快速排序的补充,用于少量元素的排序(通常为8个或以下)*/func insert_s...

2018-06-21 18:26:49 667

原创 Go语言写的选择排序

package mainimport( “fmt” )//选出最大的排到最后面 func select_sort(a []int){index := 0for i := 0; i < len(a)-1; i++{//外层循环(冒泡和选择排序)是从0到len-2 index = len(a) - 1 - i//默认每次排序完最大元素的下标是未排序的最后一个...

2018-06-20 21:31:44 717

原创 使用Go语言写的冒泡排序(4种写法)

package mainimport( "fmt")//用于计数排序中访问了多少次序列var cnt int= 0//最原始的冒泡排序func buble_sort(a []int){ cnt = 0 for i := 0; i < len(a)-1; i++ { for j := 0; j < len(a)-1-i; j++...

2018-06-20 19:28:34 1625

原创 Go语言的HelloWorld

最小结构package main//声明包--没有分号,编译器级别自动添加分号,表明该文件里的函数属于哪一个包import (//导入包--程序中需要使用哪些包就需要事先导入。import导入的包可以用小括号括起来,小括号后面没有分号 "fmt"//常用于输入输出 //多个包之间直接换行,不需用逗号或者分号)func main(){//所有的可执行程序都需要一个m...

2018-03-10 18:14:48 1310

原创 Markdown语法

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I...

2018-03-10 15:25:55 222

转载 44STL之遍历算法

STL之遍历算法STL之遍历算法for_eachtransform1.for_each()for_each: 用指定函数依次对指定范围内所有元素进行迭代访问。该函数不得修改序列中的元素。void show(const int &iItem){ cout << iItem;}main(){ int iArray[] = {0,1,2,3,4}; vector<i

2017-06-21 10:45:25 452

转载 43STL之集合算法

STL之集合算法set_union(),set_intersection(),set_difference()set_union: 构造一个有序序列,包含两个有序序列的并集。 set_intersection: 构造一个有序序列,包含两个有序序列的交集。 set_difference: 构造一个有序序列,该序列保留第一个有序序列中存在而第二个有序序列中不存在的元素。vector<int>

2017-06-21 10:43:41 421

转载 42STL之算术和生成算法

STL之算术和生成算法STL之算术和生成算法accumulatefill综合代码1.accumulate()accumulate: 对指定范围内的元素求和,然后结果再加上一个由val指定的初始值。 #include<numeric> vector<int> vecIntA; vecIntA.push_back(1); vecIntA.push

2017-06-21 10:21:08 399

转载 41STL之拷贝和替换算法

STL之拷贝和替换算法STL之拷贝和替换算法copyreplacereplace_ifswap综合代码1.copy()vector<int> vecIntA;vecIntA.push_back(1);vecIntA.push_back(3);vecIntA.push_back(5);vecIntA.push_back(7);vecIntA.push_back(9);vector

2017-06-21 10:19:38 426

转载 40STL之排序算法

STL之排序算法STL之排序算法mergesortrandom_shufflereverse综合代码1.merge()以下是排序和通用算法:提供元素排序策略 merge: 合并两个有序序列,存放到另一个序列。 例如: vecIntA,vecIntB,vecIntC是用vector<int>声明的容器,vecIntA已包含1,3,5,7,9元素,vecIntB已包含2,4,6,

2017-06-21 10:15:36 307

转载 39STL之查找算法

STL之查找算法STL之查找算法adjacent_findbinary_searchcountcount_iffindfind_if综合代码1.adjacent_find()在iterator对标识元素范围内,查找一对相邻重复元素,找到则返回指向这对元素的第一个元素的迭代器。否则返回past-the-end。vector<int> vecInt;vecInt.push_back(1

2017-06-21 10:03:54 353

转载 38STL之设计理念

STL之设计理念STL的容器通过类模板技术,实现数据类型和容器模型的分离。STL的迭代器技术实现了遍历容器的统一方法;也为STL的算法提供了统一性STL的函数对象实现了自定义数据类型的算法运算。#include <iostream>using namespace std;#include "string"#include <vector>#include <list>#include

2017-06-21 09:54:42 319

转载 37STL之函数适配器

STL之函数适配器STL之函数适配器理论知识常用函数适配器典型案例预定义函数对象和适配器案例代码1.理论知识2.常用函数适配器标准库提供一组函数适配器,用来特殊化或者扩展一元和二元函数对象。常用适配器是:1绑定器(binder):binder通过把二元函数对象的一个实参绑定到一个特殊的值上,将其转换成一元函数对象。C++标准库提供两种预定义的binder适配器:bind1st和bind2n

2017-06-21 09:48:09 444

转载 36STL之函数对象和谓词

STL之函数对象和谓词STL之函数对象和谓词函数对象谓词一元函数对象案例一元谓词案例二元函数对象案例二元谓词案例综合示例代码预定义函数对象1算术函数对象2关系函数对象3逻辑函数对象1.函数对象重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象。一个类对象,表现出一个函数的特征,就是通过“对象名+(参数列表)”的方式使用一

2017-06-21 09:47:42 452

转载 35STL之算法基础

STL之算法基础STL之算法基础概述分类常见算法1查找算法13个判断容器中是否包含某个值2排序和通用算法14个提供元素排序策略3删除和替换算法15个4排列组合算法2个提供计算给定集合按一定顺序的所有可能排列组合5算术算法4个6生成和异变算法6个7关系算法8个8集合算法4个9堆算法4个常用算法汇总1.概述算法部分主要由头文件<algorithm>,<numeric>和<f

2017-06-20 23:14:19 365

转载 34STL之容器小结

STL之容器小结一、理论提高:所有容器提供的都是值(value)语意,而非引用(reference)语意。容器执行插入元素的操作时,内部实施拷贝动作。所以STL容器内存储的元素必须能够被拷贝(必须提供拷贝构造函数)。#define _CRT_SECURE_NO_WARNINGS#include <iostream>using namespace std;#include "vector"clas

2017-06-20 21:31:21 369

转载 33STL之Map和multimap容器

STL之Map和multimap容器STL之Map和multimap容器简介对象的拷贝构造和赋值插入与迭代器对象的拷贝构造和赋值大小删除查找1.简介map是标准的关联式容器,一个map是一个键值对序列,即(key,value)对。它提供基于key的快速检索能力。map中key值是唯一的。集合中的元素按一定的顺序排列。元素插入过程是按排序规则插入,所以不能指定插入位置。map的具

2017-06-20 21:20:29 513

转载 32STL之Set和multiset容器

STL之Set和multiset容器STL之Set和multiset容器setmultiset的简介对象的默认构造插入与迭代器元素排序函数对象functor的用法set对象的拷贝构造与赋值大小删除查找pair的使用小结1.set/multiset的简介set是一个集合容器,其中所包含的元素是唯一的,集合中的元素按一定的顺序排列。元素插入过程是按排序规则插入,所以不能指定插入

2017-06-20 20:57:40 390

转载 31STL之优先级队列priority_queue

STL之优先级队列priority_queueSTL之优先级队列priority_queue简介示例代码1.简介最大值优先级队列、最小值优先级队列优先级队列适配器 STL priority_queue用来开发一些特殊的应用2.示例代码int main(void){ priority_queue<int> p1; priority_queue<int, vector<in

2017-06-20 20:14:00 411

转载 30STL之List容器

STL之List容器STL之List容器简介对象的默认构造头尾的添加移除操作数据存取迭代器对象的带参数构造赋值大小插入删除反序排列小结1.简介list是一个双向链表容器,可高效地进行插入删除元素。list不可以随机存取元素,所以不支持at.(pos)函数与[]操作符。It++(ok) it+5(err) #include <list>2.对象的默认构造list采用采

2017-06-20 19:53:59 278

转载 29STL之Queue

STL之QueueSTL之Queue简介对象的默认构造push与pop方法对象的拷贝构造与赋值数据存取大小示例代码1.简介queue是队列容器,是一种“先进先出”的容器。queue是简单地装饰deque容器而成为另外的一种容器。 #include <queue>2.对象的默认构造queue采用模板类实现,queue对象的默认构造形式:queue<T> queT; 如:que

2017-06-20 19:39:40 315

转载 28STL之Stack

STL之StackSTL之Stack简介stack对象的默认构造stack的push与pop方法对象的拷贝构造与赋值数据存取stack的大小1.简介stack是堆栈容器,是一种“先进后出”的容器。stack是简单地装饰deque容器而成为另外的一种容器。 #include <stack>2.stack对象的默认构造stack采用模板类实现, stack对象的默认构造形式: st

2017-06-20 19:36:11 360

转载 27STL之Deque容器

STL之Deque容器STL之Deque容器简介deque对象的默认构造末尾的添加移除操作数据存取deque与迭代器deque对象的带参数构造赋值大小插入1.简介deque是“double-ended queue”的缩写,和vector一样都是STL的容器,deque是双端数组,而vector是单端的。deque在接口上和vector非常相似,在许多操作的地方可以直接替换。

2017-06-20 19:31:10 400

转载 26STL之Vector

STL之VectorSTL之Vector简介对象初始化容器大小尾部添加和移除数据存取迭代器1基本原理2双向迭代器3随机访问迭代器4与vector的配合使用插入删除相关示例代码1.简介  vector是将元素置于一个动态数组中加以管理的容器。可以随机存取元素(支持索引值直接存取,用[]操作符或at()方法,还支持迭代器方式存取)。   vector尾部添加或移除元素非常快

2017-06-20 19:07:10 315

转载 25STL之String类型

STL之String类型STL之String类型String概念初始化构造函数存取字符和char类型的转换比较操作字符串连接查找和替换删除和插入算法相关1.String概念  string是STL的字符串类型,通常用来表示字符串。而在使用string之前,字符串通常是用char*表示的。 string和char*的区别string是一个类, char*是一个指向字符的指针。

2017-06-20 18:55:39 612

转载 24STL理论基础

STL理论基础STL理论基础基本概念STL的优势容器  容器的分类主要有两种迭代器算法c标准库  C标准库的内容分为10类模板回顾简单示例代码1.基本概念STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。虽然主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间。 STL的从广义上讲分为三部分:alg

2017-06-20 18:54:51 365

转载 23IO流

IO流IO流流类库结构标准IO1标准输入2标准输出文件IO1文件流及其对象2文件的基本操作3对ASCII文件的操作4对二进制文件的操作1.流类库结构程序的输入指的是从输入文件将数据传送给程序,程序的输出指的是从程序将数据传送给输出文件。C++输入输出包含以下三个方面的内容:对系统指定的标准设备的输入和输出。即从键盘输入数据,输出到显示器屏幕。这种输入输出称为标准的输入输出,简称

2017-06-20 11:17:58 703

转载 22异常处理

异常处理异常处理处理错误的传统机制思想基本语法栈解旋接口声明异常类型和变量的生命周期异常和继承标准异常库1.处理错误的传统机制传统的C语言在函数执行过程中遇到语法错误或者逻辑错误的时候,通过函数返回值表明所遇到的错误类型。2.思想在C++里面,通过异常,跨越函数来通知整个程序错误发生并对错误进行相应的处理。C++的异常处理机制使得异常的引发和异常的处理不必在同一个函数中,这样底层

2017-06-20 09:09:41 449

转载 21类型转换

类型转换类型转换类型转换名称和语法类型转换一般性介绍1static_cast2reinterpret_cast3dynamic_cast4const_cast典型案例1 static_cast用法和reinterpret_cast用法2 dynamic_cast用法和reinterpret_cast用法3 const_cast用法总结1.类型转换名称和语法C风格的强制类型转

2017-06-19 23:28:46 302

转载 20泛型编程(模板)

泛型编程(模板)泛型编程模板模板综述函数模板1基础语法2函数模板遇上函数重载3函数模板实现机制类模板1普通类模板的语法2继承中的类模板语法2类模板知识体系梳理3类模板中的static关键字4类模板小结模板在工程中的应用1.模板综述 背景有时候许多函数或子程序的逻辑结构是一样的,只是要处理的数据类型不一样有时候多个类具有相同逻辑的成员函数和成员变量,只是成员变量的数据类

2017-06-19 22:50:53 419

转载 19纯虚函数和抽象类

纯虚函数和抽象类纯虚函数和抽象类基本概念案例抽象类在多继承中的应用面向抽象类编程socket库c模型设计和实现C语言回调函数和函数指针1.基本概念2.案例#include <iostream>using namespace std;////面向抽象类编程(面向一套预先定义好的接口编程)//解耦合 ....模块的划分class Figure //抽象类{public:

2017-06-19 19:49:47 355

转载 18多态

多态多态问题引出解决方案工程意义成立条件理论基础本质剖析1 多态实现原理2 证明VPTR的存在3 构造函数中调用虚函数面试题集锦1 关于函数重载重写重定义2 为什么定义虚析构函数3 父类和子类指针的步长4 关于多态的理解5 C编译器是如何实现多态6 类的每个成员函数是否都可以声明为虚函数为什么7 构造函数中调用虚函数能实现多态吗为什么8 虚函数表指针VPTR被编译

2017-06-01 14:10:52 364

转载 17多继承

多继承多继承基础知识派生类的访问控制继承中的构造和析构多继承1.基础知识1.1 类之间的关系has-A,uses-A 和 is-Ahas-A 包含关系,用以描述一个类由多个“部件类”构成。实现has-A关系用类成员表示,即一个类中的数据成员是另一种已经定义的类。 常和构造函数初始化列表一起使用uses-A 一个类部分地使用另一个类。通过类之间成员函数的相互联系,定义友元函数

2017-06-01 12:48:58 350

原创 16运算符重载

运算符重载运算符重载概念限制基础提高字符串类的实现附录运算符和结合性 本人博客收集自网上前人资料,只为做笔记复习,而且好的东西应该和大家分享才是!如有冒犯,告知鄙人定会删除1.概念什么是运算符重载 所谓重载,就是重新赋予新的含义。函数重载就是对一个已有的函数赋予新的含义,使之实现新功能,因此,一个函数名就可以用来代表不同功能的函数,也就是”一名多用”。运算符也可以重载。实际上

2017-05-27 11:07:29 720 1

原创 15关于友元和一些小练习

关于友元和一些小练习关于友元和一些小练习友元函数友元类设计一个数组类的最初模型小结1.友元函数class A1{public: A1() { a1 = 100; a2 = 200; } int getA1() { return this->a1; } //声明一个友元函数 f

2017-05-27 09:25:08 344

原创 14面向对象模型初探

面向对象模型初探面向对象模型初探基础知识编译器对属性和方法的处理机制this指针全局函数PK成员函数1.基础知识C++对象模型可以概括为以下2部分: 1. 语言中直接支持面向对象程序设计的部分,主要涉及如构造函数、析构函数、虚函数、继承(单继承、多继承、虚继承)、多态等等。 2. 对于各种支持的底层实现机制。 在c语言中,“数据”和“处理数据的操作(函数)”是分开来声明的,也就是说,

2017-05-25 17:39:10 458

原创 13静态成员

静态成员静态成员存在的意义静态成员变量静态成员函数1.存在的意义使得某个成员为所有对象共享2.静态成员变量关键字 static 可以用于说明一个类的成员, 静态成员提供了一个同类对象的共享机制把一个类的成员说明为 static 时,这个类无论有多少个对象被创建,这些对象共享这个 static 成员静态成员局部于类,它不是对象成员 私有静态成员的示例代码#include<io

2017-05-25 16:19:03 226

原创 12对象的构造和析构

对象的构造和析构对象的构造和析构基本概念构造函数分类及调用规则1无参数构造函数2有参数构造函数3拷贝构造函数4默认构造函数5调用规则深拷贝和浅拷贝多个对象构造和析构调用顺序对象的动态管理1.基本概念  创建一个对象时,常常需要作某些初始化的工作,例如对数据成员赋初值。注意,类的数据成员是不能在声明类时初始化的。  为了解决这个问题,C++编译器提供了构造函数(constru

2017-05-25 14:14:58 475

原创 11类和对象

类和对象类和对象基本概念类的封装示例代码1.基本概念类、对象、成员变量、成员函数面向对象三大概念 封装、继承、多态编程实践 类的定义和对象的定义,对象的使用求圆形的面积定义Teacher类,打印Teacher的信息(把类的声明和类的实现分开)2.类的封装1.封装(Encapsulation)封装,是面向对象程序设计最基本的特性。把数据(属性)和函数(操作)合成一个整体,这在

2017-05-25 09:47:37 400

samba使用到的第三方so文件

树莓派+raspbian官方系统+添加了清华大学的源+samba4.6.7

2017-10-09

smaba在android上所需要的so文件

树莓派+raspbian官方系统+添加了清华大学的源+samba4.6.7

2017-10-09

samba4.6.7源码

最新的samba4.6.7源码,方便开发使用,配合树莓派方便开发!

2017-10-09

MSP430+单片机原理与应用实例详解

基于MSp430F149的很经典的教材,很好学习的一本书

2013-09-15

空空如也

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

TA关注的人

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