自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 笔试:如何实现输入一行数据,且数据间通过空格分隔

因为最近在做笔试题多次遇到类似题目这样的输入要求所以决定写一篇文章记录一下我的一个小收获,这些算法题都是这样的:第一行输入数字,且按空格分割开,第二行巴拉巴拉。这种题共两种:1.字符串2.数字1.字符串:我实现是通过string 实现的,毕竟方便简单。string str;getline(cin,str);printf(str.c_str());这里我用的是...

2019-08-23 22:44:55 3228

原创 函数:sprintf sprintf_s _snprintf _snprintf_s

首先分析一下:这四个函数观察其尾部,有_s,和无_s;其中有_s的是有安全校验的,如果函数参数错误会报错。(vs2012)1.sprintf(char* _Dest, const char* Format……);但是在应用的时候一般这样:char* str = "wanggnaw";char buf[5] = {0};sprintf(buf,"%s",str);当输出bu...

2019-08-23 08:47:52 368

原创 算法:希尔排序_Shellsort

希尔排序希尔排序时插入排序的一种变体:通过将数组按指定间隔分割成多个子数组,子数组进行插入排序,并且当所有子数组都完成一次插入排序后,改变间隔值,重新分组,再次进行插入排序。我们定初始间隔为 (数组长度/2),每次都/2,直至间隔值为0,排序完成。这是我之前写的插入排序,还不太熟悉插入排序的小伙伴可以看一下:插入排序:https://blog.csdn.net/Water_st/art...

2019-08-18 20:57:00 146

原创 算法:插入排序_Insertsort

思路:将数组分为两个部分:前一部分为有序,后一部分为无序。将无序数组元素向有序数组中进行插入设 j 为有序数组的最后一个元素;i为无序数组的最后一个元素。稳定 时间复杂度 最好 o(n) 最坏 o(n^2) 平均 o(n^2)使用场景:数组中的元素离最终位置不远的情况,而且数量尽量在 5-20之间比较合适。#include<iostream>usingn...

2019-08-17 10:29:06 142

原创 数据结构:红黑树_性质&添加&删除

红黑树一、性质:1.红黑树的节点颜色不是红就是黑2.红黑树的根节点一定是黑色的3.终端节点(叶子节点为空的左右子树)是黑的4.没有两个红节点为父子关系5.从任意节点出发到达各各终端节点,各条路径上黑节点的数目必须是完全相同的二、添加操作流程: 一、先按左大右小的规律找到对应的添加位置 二、进行颜色调整 1.树为空 节点为黑...

2019-08-11 20:25:39 120

原创 数据结构:树_左右旋转

树_左右旋转· 前言:对于树的旋转其实就是指针的相互指向,那么就要明确一点,一共有多少对指针关系需要我们处理。(上面这个图大家凑活看吧)以右旋为例:我们要操心的是A、B、E这三个节点,这就六个指针了,所以只要把这六个指针的指向弄明白树的旋转就搞定了。· 流程:首先从这里面关联性最少的节点开始处理,E就是首选。(从在起可以根据我说的用铅笔画一下这个流程)第一步:认孩子。令...

2019-08-11 20:04:49 1037

原创 趣味Demo:不用main函数,输出"Hello World!"

今天同学给我出了一道题,基于Linux,如何实现在不用main函数的情况,输出"Hello World!" ,我百思不得其解,本以为可以用echo命令回,或者cat文件,但是好像思路都不太对,后来他告诉我用汇编语言……简直崩溃,看完之后,感觉单片机的汇编语言和这个简直没法比呀……下面是代码实现;// vi 创建 TinyHelloWorld.c char* str = "Hello Wo...

2019-08-09 21:47:52 618

原创 算法:选择排序_Selectsort

选择排序: 堆排的前身 实现思路:每次选择最小的放在最前面,或者选择最大的放在后面 时间复杂度 最好o(n^2) 最坏o(n^2) 平均o(n^2)#include <iostream>using namespace std;void Insertsort(int* arr,int len){ if(arr == NULL || len&lt...

2019-08-09 20:55:22 300

原创 算法:冒泡排序_Bubblesort

一、实现思路: 每次相邻的两个元素进行大小比较,大的放在后面二、优化: 1.数据为有序数组:根据 int arr2[] = {1,2,3,4,5,6,7,8,9};可知如果数组已经排序好了,若继续执行程遍历n轮,那就是浪费时间,所以可以利用标记(Orderbj )记录程序是否发生数据交换,如果没有发生交换,就直接退出。 2.数据部分有序 :...

2019-08-09 19:57:42 468

原创 Q1:手撕String类

#include <iostream>#include <string>using namespace std;class MyString{public: MyString(const char* str=NULL); MyString(const MyString& string); MyString& operator=(const...

2019-08-08 23:08:41 372

原创 开发:内存泄漏&内存溢出

一、内存泄漏(memory leak)1.内存泄漏定义:申请的内存空间没有被正确释放,导致后续程序里这块内存被永远占用(不可达/无法访问),而且指向这块内存空间的指针不再存在时,这块内存也就永远不可达了,内存空间就这么一点点被蚕食2.内存泄漏的后果?少量的内存泄漏可能不会对程序产生影响,但是随着量的累计,程序的性能会逐渐降低。 更糟的是,泄漏的程序可能会用掉太多内存,以致另一个...

2019-08-08 20:42:21 191

原创 设计模式:单例模式

提示:本文是作者根据——程洁《大话设计模式》的总结和感悟,内容可能不涉及相关代码实现,或许不适合初学,仅作参考,请有条件的读者购书进行系统学习,或浏览其他网页进行学习。单例模式 目录 单例模式 1.单例模式定义 2.单例模式实现遇到的问题 1.单例模式定义 定义: 保证一个类仅有一个实例,并提供一个访问它的全局访问点 从实现上讲,...

2019-08-08 10:59:55 139

原创 设计模式:简单工厂_策略模式_工厂方法

提示:本文是作者根据——程洁《大话设计模式》的总结和感悟,内容可能不涉及相关代码实现,或许不适合初学,仅作参考,请有条件的读者购书进行系统学习,或浏览其他网页进行学习。目录本文内容概要简单工厂 策略模式 工厂方法 简单工厂和工厂方法_实现对比1.简答工厂: 如果是实现一个计算器,就要考虑加减乘除的功能,那么这些功能就要封装成函数,但是处于对未来维护的考虑,把相...

2019-08-07 21:29:48 204

转载 TCP流量控制和拥塞控制

TCP的流量控制 原文所谓的流量控制就是让发送方的发送速率不要太快,让接收方来得及接受。利用滑动窗口机制可以很方便的在TCP连接上实现对发送方的流量控制。TCP的窗口单位是字节,不是报文段,发送方的发送窗口不能超过接收方给出的接收窗口的数值。 如图所示,说明了利用可变窗口大小进行流量控制。设主机A向主机B发送数据。双方确定的窗口值是400.再设每一个报文段为100字节长,序号的初始值为seq=...

2018-11-17 22:47:49 231

空空如也

空空如也

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

TA关注的人

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