![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c
鱼玄机j
冲冲冲!
展开
-
数据结构——线性表
对于数据结构,大致分为四种基本类型: 集合:元素之间没有任何关系线性表:元素之间存在一对一关系(数组) 数组、链表、功能受限的表(栈、队列)树:元素之间存在一对多关系 普通数、二叉树、完全二叉树、满二叉树、有序二叉树图:元素之间存在多对多关系 邻接表、表的遍历(深度优先、广度优先)、最短路径这篇主要讲表。表,是一种线性结构,在实际应用中体现为两种,根据逻辑结构来分,分为栈和队列...原创 2019-07-13 10:13:00 · 155 阅读 · 0 评论 -
牛客网 剑指offer 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。上代码class Solution {public: int MoreThanHalfNum_Solution(vector<int> numbers) { ...原创 2019-08-12 15:25:13 · 305 阅读 · 0 评论 -
牛客网 剑指offer 最小的k个数
输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。上代码class Solution {public: vector<int> GetLeastNumbers_Solution(vector<int> input, int k) { int len = input.size...原创 2019-08-12 15:23:16 · 111 阅读 · 0 评论 -
C++学习第二日 类 的理解及使用方法
面向过程编程:关注的是问题解决的过程步骤(事情是如何解决的),算法面向对象编程:关注的是谁能解决问题(类),需要什么样的数据(成员变量),具备什么样的技能(成员函数)才能解决问题1、抽象:找出一个能够解决问题的"对象"(观察研究对象),找出对解决问题所必须的数据(属性),功能(成员函数)2、封装:把抽象的结果,归结成一个类(数据类型),然后实例化出类对象,设置对象的属性,调用对象的功能...原创 2019-08-15 20:28:59 · 239 阅读 · 0 评论 -
C++学习第一日总结
一、C++介绍本贾尼 斯特劳斯特卢普,于1979年4月份贝尔实验室的本贾尼博士在分析UNIX系统分布内核流量分析时,希望有一个有效的更加模块化的工具1979年10月完成了预处理器Cpre,为C增加了类机制,也就是面向对象,1983年完成了C++的第一个版本,C with classes也就是C++。‘C++与C的不同点: 1、C++完全兼容C的所有内容 2、支持面向对象的编程思想 3...原创 2019-08-14 20:53:14 · 116 阅读 · 0 评论 -
网络文件传输工具 具有五大功能(list cd mkdir put get(TCP/UDP)传输)
客户端#include <stdio.h>#include <unistd.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <string.h>#include <getch.h>#incl...原创 2019-08-09 21:21:08 · 632 阅读 · 0 评论 -
牛客网 剑指offer 和为S的两个数字
输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。对应每个测试案例,输出两个数,小的先输出。class Solution {public: vector<int> FindNumbersWithSum(vector<int> array,int sum) { vect...原创 2019-08-08 20:39:48 · 130 阅读 · 0 评论 -
实现linux ls -l的功能(简易模仿 欢迎指正 粗糙勿喷)
#include <stdio.h>#include <unistd.h>#include <sys/stat.h>#include <sys/types.h>#include <time.h>#include <string.h>#include <dirent.h>char* file_time...原创 2019-07-27 09:29:20 · 635 阅读 · 0 评论 -
Linux下 对文件的一些常用操作
一、sync/fsync/fdatasync1、硬盘上一般会有一些缓冲区以此来提高数据的写入效率,操作系统写入数据其实是写入缓冲区,直到缓冲区满,才排队写入到磁盘中。2、这种操作降低了写入的次数,但是提高了数据写入的延时,导致缓冲区的数据与磁盘的内容不同步。 **void sync(void);** 功能:把所有缓冲区中的数据全部同步到磁盘 注意:只是发布将数据同步到磁盘的命令,并...原创 2019-07-27 09:26:58 · 167 阅读 · 0 评论 -
牛客网 剑指offer 二叉树的镜像
操作给定的二叉树,将其变换为源二叉树的镜像。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: void...原创 2019-08-04 20:34:51 · 179 阅读 · 0 评论 -
牛客网 剑指offer 矩形覆盖
我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?class Solution {public: int rectCover(int number) { if(number ==0) return 0; if(number ==1) return 1; if(num...原创 2019-08-03 17:34:07 · 102 阅读 · 0 评论 -
牛客网 剑指offer 替换空格
class Solution {public: void replaceSpace(char *str,int length) { int num=0; for(int i=0;i<length;i++) { if(str[i] == ' ') { num++; } }...原创 2019-08-03 17:32:16 · 108 阅读 · 0 评论 -
进程间通信
一、基本概念什么叫进程间通信(IPC,Interprocess communication):是指两个或多个进程之间交换数据的过程叫进程间通信进程间为什么需要通信:当需要多个进程协同工作高效率完成任务时,每个进程都是是独立的个体(资源单位),进程间就需要进行通信。进程间通信方式的分类:1、简单的进程间通信:命令行参数、环境变量表、信号、文件2、传统进程通信:管道3、XSI进程间通信...原创 2019-08-03 16:35:24 · 159 阅读 · 0 评论 -
算法
**算法:**数据结构中的算法,指的是数据结构所具备的功能。解决特定问题的方法,他是前辈们的一些优秀的经验总结。**分治:**把一个大而复杂的问题,分解为很多个小而简单的问题,利用计算机的强大计算能力来解决问题。实现分治的方法有:循环、递归递归:是函数自己调用自己的行为,这种行为可以形成循环调用,进而实现分治算法。什么情况下使用递归:问题太复杂无法拆解成循环语句。问题非...原创 2019-07-23 19:57:55 · 105 阅读 · 0 评论 -
计算机网络(套接字及TCP/UDP传输)学习心得
一、计算机网络1、计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。2、计算机网络的功能 数据通信 资源共享 提高系统的可靠性 分布式网络处理和负载均衡3、计算机网络的组成 通信子网 : 网卡、线缆、集线器、中继器、交换机、路由器 资源子网 ...原创 2019-08-12 15:29:50 · 1092 阅读 · 0 评论