自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

q496958148的博客

一个专注编程的小学僧!

  • 博客(39)
  • 收藏
  • 关注

原创 C++ Primer之函数探幽

1.内联函数:关键词:inline2.引用变量:1.创建引用变量2.将引用作为函数参数3.返回引用3.默认参数:4.函数重载:5.函数模板:1.内联函数:内联函数的作用是为了提高程序运行速率的一种改进,而这种改进是在于编译器如何将程序内部的函数组合在一起的。 我们应该在VS编译器下调试过代码,也看过反汇编语言。我们发现当程序在涉及到跳转函数时,它的...

2018-08-07 21:25:13 267

原创 C++之文件输入输出

1.文件输入:1.文件模式:2.文件输出:1.流状态:在c++中我们易知的是cout和cin俩个标准输入输出,而在真实的状况中。我们则是需要对文件的内容进行读取和重新写入,这样我们只有cin和cout这俩个标准输入和输出就明显的不够满足条件了。所以有一个fstream类中的ifstream和ofstream则解决了这个对文件操作的问题。1.文件输入:我们相比较...

2018-07-20 14:48:56 25733 1

原创 C++ Primer Plus读书笔记之——类的默认函数(6种)

目录:1.构造函数:2.拷贝构造函数:3.析构函数:4.赋值操作符重载:5.取地址操作符重载:6.const修饰的取地址操作符重载:从上面我们可以清楚的看到类的6中默认函数。1.构造函数:构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。在对象的生命周期内只调用一次,目的是...

2018-07-07 18:59:18 273

原创 排序算法之——冒泡排序

百度百科给出的解释是:冒泡排序:是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名“冒泡排序”。分析如下: 代码实现:#include <stdi...

2018-06-06 17:59:36 231

原创 Java操作mysql(jdbc)实现动态的增删查改

首先明确我们的目标:创建一个员工管理系统的用户登录界面,要求有:实现用户的注册,登录,修改密码,注销等操作。根据分析我们首先得写一个登录窗口: 分析步骤如下 - 首先实现一个窗口,调整位置大小,设置为可见 - 然后添加组件,图片等(合理运用好布局,流式,网格) - 最后对按键组件添加监听事件package day01;import java.awt.BorderL...

2018-05-19 23:30:37 2381

原创 基于UDP的网络编程

UDP协议(用户数据报协议): - 传输层协议 - 没有连接 - 不可靠 - 面向数据报我们先创建一个简易的客户端和服务器。服务器: - socket:先创建一个套接字 - bind:将创建的套接字绑定到地址和端口上 - recvfrom:下面就以阻塞的方式等待客户端的数据客户端: - socket:先创建一个套接字 - sendto:和服务器进行通信其中涉及到的函数如下:```#include ...

2018-05-13 21:32:20 281

原创 线程的同步与互斥

线程同步与互斥:我们先来一个示例看一下:#include <stdio.h> #include <stdlib.h>#include <pthread.h>#include <string.h>#include <unistd.h>#include <sys/syscall.h>int i = 10;void* fun(void* arg){ char* id = (char

2018-05-08 22:19:05 226 1

原创 线程

线程的概念:1. 什么是线程?百度百科给出的定义太长了,总结的来说:一个线程就是一个执行流。 我们了解到程序运行后,就会变成进程,而一个进程中执行的路线就称为一个执行流(线程),更明确的定义是:线程是一个进程内部的控制序列。因为Linux中没有线程的概念,所以Linux下的线程称为“轻量级进程”。2. 线程和进程的关系 进程是内存资源分配的最小单位, 线程是调动的最小单位。

2018-05-08 21:15:13 123

原创 共享栈

共享栈,就是相当于用一个数组,俩端分别为栈底,相向生长。 思路如下: 效果图: 代码实现: sharestack.c:#include <stdio.h>#include <string.h>#include <stdlib.h>#define LINE printf("-------------------%s------------------\n",__FUNCTION__);#

2018-05-06 21:34:13 261

原创 判断字符串是否是栈的输出

炸的一看,好像看不懂这个是什么意思。 但是只要嘻嘻想一下就明白了: a,b,c,d,e按顺序入栈,出栈顺序随意,并且在进栈的过程中可以出栈,列出所有可能情况 比如a,b,c,d,e就是该字符串的栈的输出,再比如c,a,b,e,d就不是该

2018-05-06 20:16:19 591

原创 2个队列实现1个栈

2个栈实现一个队列:https://blog.csdn.net/q496958148/article/details/80214186 队列的实现:https://blog.csdn.net/q496958148/article/details/80041078在上一篇中我们写了2个栈实现1个队列,其中思想类似。分析如下: 具体实现如下: queue.c:#include "...

2018-05-06 16:20:19 116

原创 2个栈实现1个队列

“.”与“->”的区别:https://blog.csdn.net/q496958148/article/details/80149634 栈的实现:https://blog.csdn.net/q496958148/article/details/80040641这是一道很经典的面试题,也是我们必须要搞清楚的一个问题。我们很清楚的知道栈和队列最根本的区别是:栈是先进后出,而队列是先进先出。那么问题

2018-05-06 14:17:42 114

原创 C语言中“.”与->的区别

写过C语言的各位朋友刚开始的时候一定受过这俩个混淆的坑吧。 看着感觉这俩个差不多啊,都是可以指向一个结构体的元素。但是,往往我们写的时候感觉错误百出: 下面我指出这俩个混淆的错误:代码附上:在上图我们看到报错6个地方都是对结构体内元素操作时候出错了: 接下来我们翻一下刚才的报错看是什么原因:error: request for member ‘a’ in something...

2018-04-30 15:26:39 8308 4

原创 简单迷宫求解

迷宫求解十个很大众的问题了,而这个考点好多。其中涉及到了栈,递归,遍历,回溯等知识点的概念。如图:---------------main------------- 迷宫地图 成功走完迷宫的路线图 0 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 1 0 0 0 0 0...

2018-04-30 14:17:35 128

原创 栈的扩展——最小栈

最小栈和栈的区别就是,在时间复杂度为O(1)的情况下获取当前栈内元素的最小值。 下面是我的分析流程图: 这里出现了一个万一数组内元素重复出现的情况,我的思路与如下:1&gt;正常情况下,我们考虑如果当前需要插入的值和最小栈顶值相同,那我们继续将该值插入最小栈中,(如果不这样做的话,你出栈时,前面的最小值出去了,而此时最小栈的栈顶元素不符合当前所需的最小值)2&gt;万一特殊情况,相...

2018-04-29 21:12:48 222

原创 二叉树的基础操作

二叉树是基于递归思想建立的,所以我们对其做的操作大部分都得用递归思想。二叉树的遍历根据遍历来创建二叉树二叉树的拷贝,销毁二叉树的节点个数,层数,深度,第K层节点数…二叉树查找元素,双亲,左右孩子

2018-04-29 16:17:25 156

原创 Linux信号解析和心得

1. 什么是信号?网上给出的定义是:在计算机科学中,信号(英语:Signals)是Unix、类Unix以及其他POSIX兼容的操作系统中进程间通讯的一种有限制的方式。它是一种异步的通知机制,用来提醒进程一个事件已经发生。当一个信号发送给一个进程,操作系统中断了进程正常的控制流程,此时,任何非原子操作都将被中断。如果进程定义了信号的处理函数,那么它将被执行,否则就执行默认的处理函数。简单的理...

2018-04-22 21:00:50 569

原创 队列的实现

栈的实现:https://blog.csdn.net/q496958148/article/details/80040641 官方给的定义: 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。俗称“先进先出”。 同样的我们还是用...

2018-04-22 18:02:36 154

原创 栈的实现

官方给出的栈的定义是: 栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。俗称“先进后出”。 接下来我们就用顺序表和链...

2018-04-22 17:14:46 151

原创 进程间的通信——信号量

进程间的通信——管 道https://blog.csdn.net/q496958148/article/etails/79948367 进程间的通信——消息队列https://blog.csdn.net/q496958148/article/details/79951727 进程间的通信——共享内存https://blog.csdn.net/q496958148/article/det...

2018-04-17 16:43:26 261

原创 进程间的通信——共享内存

进程间的通信——消息队列https://blog.csdn.net/q496958148/article/details/79951727 进程间的通信——信号量https://blog.csdn.net/q496958148/article/details/79977093 进程间的通信——管 道https://blog.csdn.net/q496958148/article/etails...

2018-04-15 21:12:11 272

原创 进程间的通信——消息队列篇

进程间的通信——共享内存https://blog.csdn.net/q496958148/article/details/79953349 进程间的通信——信号量https://blog.csdn.net/q496958148/article/details/79977093 进程间的通信——管 道https://blog.csdn.net/q496958148/article/etails/...

2018-04-15 18:40:38 1326 1

原创 进程间的通信——管道篇

进程间的通信——消息队列https://blog.csdn.net/q496958148/article/details/79951727 进程间的通信——共享内存https://blog.csdn.net/q496958148/article/details/79953349 进程间的通信——信号量https://blog.csdn.net/q496958148/article/detai...

2018-04-15 12:51:06 329

原创 带头双向带环链表

初始化链表尾插尾删头插头删查询元素往指定位置之前插入一个元素往指定位置之后插入一个元素删除指定元素删除指定元素的第一次出现删除所有指定元素求链表的长度判断链表是否为空(0为空,1为非空)dlinknode.h:#pragma once#include &lt;stdio.h&gt;#include &lt;malloc.h&gt;#include...

2018-04-14 23:49:04 120

原创 “打”一个静态库和动态库

静态库:程序编译一般需经预处理、编译、汇编和链接几个步骤。 在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中的这种库。 静态库特点是可执行文件中包含了库代码的一份完整拷贝;缺点就是被多次使用就会有多份冗余拷贝。

2018-04-12 19:34:55 104

原创 fb与FILE

open是UNIX系统调用函数(包括LINUX等),返回的是文件描述符(File Descriptor),它是文件在文件描述符表里的索引。 fopen是ANSIC标准中的C语言库函数,在不同的系统中应该调用不同的内核api。返回的是一个指向文件结构的指针.

2018-04-12 18:07:59 374

原创 文件相关的系统调用接口

open打开文件read在打开的文件中读取数据write在打开的文件中写入数据close关闭已经打开的文件

2018-04-12 17:24:48 541

原创 简易myshell

什么是shell?其实shell 也是一个程序,它由输入设备读取命令,再将其转为计算机可以了解的机械码,然后执行它。

2018-04-05 10:55:42 870

原创 链表的高级应用

这次的我们需要完成以下操作单链表逆置 (我用的是每次将原链表的头结点头插到另一个空链表中,这样得到的新链表就是逆置完成的链表)单链表的冒泡排序 (采用的是调用交换函数来进行冒泡)将两个有序链表, 合并成一个有序链表 (新建一个空链表,比较俩个链表,每次小的节点插在新链表之后,最后判断哪个链表先为空,就将另一个链表后面的所有节点都接在新链表的尾端)找到倒数第 K 个节点 (...

2018-04-03 19:32:32 266

原创 对单向无头链表的基础操作

我们要求对链表进行如下要求初始化链表尾插尾删头插头删查找元素在链表的位置在pos前插入在pos后插入删除指定位置的元素删除指定值的元素指定的元素所有都删除掉判定链表是否为空求链表的元素个数逆序打印链表不允许遍历链表,在pos前插入 接下来是在Linux环境下的编程语言:#pragma once#include &lt;stdio.h&gt;#in...

2018-03-26 13:24:25 281

原创 Linux进程(孤儿,僵尸)

进程的调度算法

2018-03-22 19:07:03 155

原创 vim配置解析

老话说的好:工欲善其事必先利其器

2018-03-22 17:10:21 117

原创 实现基于静态数组的顺序表的以下基本操作(进阶部分)

需求如下: 1. 初始化 2. 尾插 3. 尾删 4. 头插 5. 头删 6. 读任意位置元素 7. 修改任意位置元素 8. 查找指定元素值的下标 9. 在任意位置插入元素 这次我们的编程环境是Linux下,所以我们要创建一个seqlist.h与seqlist.c的文件,以及Makefile将其联合在一起。 废话不多说,我们开始编写代码。 se...

2018-03-18 16:02:34 138

原创 Linux指令

经过了寒假的Linux学习,我向大家分享一下我的Linux学习的心得,其中有些是我的自己理解,错误的地方希望大家多多点评。 一.基本命令 Linux中各种命令需要在终端下来操作的 下面就是我的linux桌面以及终端界面 在此我们可以看到打开的额终端窗口有个闪的光标,我们所有的命令将在此输入以及结果在此窗口输出。 1.用户转换 普通用户换为root: 输入su 窗口会提示你输入密码(...

2018-03-06 21:38:26 102

原创 扫雷小游戏

经过上次的三子棋小游戏,我又写了一个扫雷的小游戏 具体思路如下: 首先我们应该得打印一个游戏页面,俗话说的好:游戏界面,就是编程师的脸面。(好像是我总结的)void mune(){ printf("|---------------------------|\n"); printf("|~~~~~~~~~~~~~~~~~~~~~~~~~~~|\n"); printf("|

2017-12-09 16:29:44 366

原创 小小三子棋

三子棋的C语言实验方法

2017-12-09 15:12:15 150

原创 我所理解的数组

数组

2017-11-23 12:38:14 228

原创 c语言操作符

我所认识的c语言操作符:

2017-11-17 18:07:14 163

原创 程序员的修行之路---第一篇

这是我第一次接触博客,也是我第一次写博客,在此之前听过好多学长学姐谈论博客,并说这是程序员的乐园,在这里可以与好多的程序员大神交流。不知不觉的我已经是大三的学长了,在大学的四年时光中已经走了一大半了。在我上大学之前我就喜欢互联网这个行业。看到前辈和老师们在向我们展示程序魅力的时候,手指飞快的在键盘上跳动。我那时候感觉这个行业真的**好酷!!**但是现在面临在我面前的有俩条路,一是考

2017-11-04 14:25:36 458 1

空空如也

空空如也

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

TA关注的人

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