自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 先序创建一个二叉树

#include<iostream>using namespace std;struct Node { char val; Node *left; Node *right; Node() : val(0), left(nullptr), right(nullptr){} Node(int v) : val(v), left(nullptr), right(nullptr){}};void CreateNode(Node *&roo.

2022-05-23 23:13:34 128

原创 dfs(深度搜索)

//dfs深度优先,输出0 1 2的全排列#include <iostream>#include<vector>using namespace std;//标记是否被访问过了vector<bool> visit(3, false);//存储已经拍好的顺序vector<int> arry(3, 0);void dfs(int num){ if (num == 3) { for (auto &elem : .

2021-10-03 20:49:15 120

原创 求一个字符串中括号是否匹配

#include <iostream>#include "string.h"using namespace std;bool fun(const char *str, int low, int high){ if(low > high) { //括号中间无字符了 return true; } int i = low; int j = high; int k = 0; for(k=i;k<=j;++k) { if(str[k.

2020-06-20 15:05:18 380

原创 回文

#include <iostream>#include <string.h>#include <vector>#include <algorithm>using namespace std;int main(){ char str[100]; int result[100]; int result2[100...

2020-04-25 18:39:05 168

原创 合唱队列问题

计算最少出列多少位同学,使得剩下的同学排成合唱队形合唱队列说明:N位同学中,使(N-K)位出列,使得剩下的满足条件:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK,则他们的身高满足存在i(1<=i<=K)使得T1<T2<......<Ti-1<Ti>Ti+1>......>TK。计算出最少需要出...

2020-04-16 18:11:49 833 2

原创 单词排序(不区分大小写,删除重复的单词)

#include <iostream>#include "string.h"#include <vector>#include "algorithm"using namespace std;bool math_my(string str1, string str2){ int len1= str1.size(); int len2 = s...

2020-04-06 21:01:49 525

原创 文件描述符的初始化

文件描述符是一个非负整数,其中0代表标准输入,1代表标准输出,2代表标准出错。如果系统此时打开一个文件,则文件描述符为3(POSIX标准规定,每次打开文件时(包括socket),必须使用当前进程中最小可用的文件描述符号码)所以文件描述符在初始化时应该赋值为负数(比如-1),如果赋值为0,则占用了标准输入。...

2018-09-14 10:19:21 666

原创 size_t 等64位系统和32位系统兼容性问题

strlen 和  sizeof 返回位size_t类型,size_t在32位系统下定义为:usingned int ,在64位系统下位unsigned long int 输出size_t类型的数据时,用%zu占位符,如printf("%zu",strlen("aaaa")); time_t 定义为long int ,所以在32位系统和64位系统下所占字节数也不一样。...

2018-09-13 19:59:33 4124

原创 memcpy内存拷贝实现

#include &lt;string.h&gt;#include &lt;stdio.h&gt;#include &lt;iostream&gt;#include &lt;stdlib.h&gt;using namespace std;void my_memcpy(void *dest,const void *src,int size_cout){ //必须转换为cha...

2018-09-02 17:38:04 1399

原创 字符串分隔

#include &lt;string.h&gt;#include &lt;stdio.h&gt;int main(){ char s[] = "agg,bll*123c,d"; //char *s = "agg,bll*123c,d";//这种写法是错的 const char *sep = ",*"; //可按多个字符来分割 char *p; p...

2018-09-01 12:06:45 129

原创 用指针实现字符串反向

#include &lt;stdio.h&gt;#include &lt;string.h&gt;#include &lt;iostream&gt;using namespace std;void myreverse(char* str){ char* p = str + strlen(str)-1;//指针指向str最后一位 char temp; whil...

2018-08-28 00:05:16 2694

原创 标准宏定义实现MIN,避免副作用

#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;assert.h&gt;//在所有使用GNU 扩展关键字的表达式之前加__extension__(两个下划线)关键字后,//使用pedantic选项编译时,编译器就不再发出警告信息//typeof(expression)用来获取expression的类型#d...

2018-08-27 23:47:22 1379

原创 链表

//单项链表反向node *nodereverse(node *head){ //如果一个函数的输入参数有指针,一定要记住判断指针时候为空 //1&gt;:在使用一个指针之前一定要判断它是否为空; //2&gt;:使用完后要释放由指针指向的存储单元 //3&gt;:释放完存储单元后要将指针赋值为NULL; if(head-&gt;next==NULL...

2018-08-26 15:18:25 141

原创 排序算法例子

冒泡排序:#include &lt;iostream&gt;using namespace std;//冒泡排序,时间复杂度O(n^2),稳定,比较次数最少n-1,最多n*(n-1)/2void Bubble_Sort(int *list,int num){ bool flag = true; for(int i=0;(i&lt;=num)&amp;&amp;f...

2018-08-22 21:36:38 434

原创 strcpy函数实现

#include &lt;iostream&gt;#include &lt;string.h&gt;using namespace std;char * strcpy(char * strDest,const char * strSrc){ if ((strDest==NULL)||(strSrc==NULL)) return NULL;//方法一// ...

2018-08-17 17:24:30 485

原创 ubuntu配置静态ip(同时可以上网)

cd /etc/networksudo vim interfaces输入:auto eth0 //需要根据实际情况改iface eth0 inet staticaddress 192.168.40.100netmask 255.255.255.0gateway 192.168.40.1dns-nameservers 114.114.114.114 //配置dns才能...

2018-08-09 14:42:32 1267

原创 获取系统时间做为文件名

time_t t = time(0);char timeIndex[15];memset(timeIndex,0,15);strftime(timeIndex, sizeof(timeIndex), "%Y%m%d%H%M%S",localtime(&amp;t) );timeIndex[14]='\0';时间字符串存在timeIndex[15]中,直接用来做文件名就可以...

2018-08-03 15:21:36 748

原创 继承

共有继承:基类的public和protected在派生类还是public和protected。保护继承:基类的public和protected在派生类为protected。私有继承:基类的public和protected在派生类为private。基类的private成员在派生类不可见例如:#include &lt;iostream&gt;using names...

2018-08-01 11:12:02 122

原创 程序中创建文件夹并修改权限

mkdir(folder,0777);//folder为文件夹名chmod(folder,0777); 

2018-07-25 09:50:53 1585

原创 动态修改TCP读写缓存区

system("sysctl -w net.core.rmem_max=50000000");//50M system("sysctl -w net.core.wmem_max=50000000");//50M 

2018-07-25 09:48:14 741

原创 计算质心

int CaculateCentroid(float *data,int num){ float fpf=0; float pf=0; for(int i=0;i&lt;num;i++) { fpf=fpf+float(i)*data[i]; pf=pf+data[i]; } //质心 float sc=fpf/pf; return s...

2018-07-24 09:52:26 3920

原创 循环自启动脚本

#!/bin/bashsleep 30while truedo sleep 3 if pgrep test &gt;/dev/null ;then sleep 3 else cd /work/run /work/run/test &amp; fidone 

2018-07-20 10:22:01 482

原创 shell脚本将ldd检测到的依赖库拷贝到指定文件夹

#! /bin/bash#执行脚本时在终端输入 ./copy.sh ./test ./copy#其中./test为ldd所要查看的可执行程序的路径,./copy为依赖文件最终拷贝到的文件夹路径#以下三个参数为终端输入# $0 为 ./copy.sh# $1 为 ./test# $2 为 ./copy# awk 后 $0,$1,$2为终端日志的字符串,以空格为分隔符,只在aw...

2018-07-06 11:35:51 2981 3

原创 linux下设置非阻塞IO

配置非阻塞模式int flags=fcntl(fd,F_GETFL,0); flags |=O_NONBLOCK;fcntl(fd,F_SETFL,flags);配置为阻塞模式int flags=fcntl(fd,F_GETFL,0); flags &amp;=~O_NONBLOCK;fcntl(fd,F_SETFL,flags);对文件描述符的操作必须先使用int...

2018-07-04 22:27:26 1606

原创 linux下实现键盘的无阻塞输入

#include &lt;iostream&gt;#include &lt;stdio.h&gt;#include &lt;unistd.h&gt; #include &lt;stdlib.h&gt; #include &lt;sys/ioctl.h&gt; using namespace std;char GetInput(){ //fd_set 为long型数组...

2018-06-22 16:44:09 4285 1

原创 linux 下各存储区内存限制

#include &lt;iostream&gt;#include &lt;string.h&gt;using namespace std;//全局变量内存在静态存储区(最大4G左右,linux系统)/*const int len=1000000000;int _array[len];*/int main(){ /* *如果在局部申请空间(内存在栈上,连续的),最...

2018-06-14 11:12:42 1221

原创 tcp 断网检测(linux)

int opt=SO_REUSEADDR;setsockopt(_serverSocket, SOL_SOCKET, SO_REUSEADDR, &amp;opt, sizeof(opt)); //设置socket属性,端口可以重用 ///只能检测rec状态,send状态无法感知//断网检测,总共9sint keepAlive = 1; // 开启keepalive属性i...

2018-06-05 17:31:16 2295

原创 频谱分析仪笔记

1.任何电路都有热燥声,这些噪声和频谱仪的通频带宽成正比,带宽越宽,则噪声越大,因此减小频谱仪的分辨带宽(rbw),可以减小其自身的噪声,从而增强对微弱信号的检测能力。2.检波器之后的滤波器称为检波滤波器又叫视频滤波器,视频带宽反映的是频谱分析仪接收机中位于包络检波器之后的视频滤波器的带宽。采用小带宽的视频滤波器,噪声的平均电平保持不变但噪声的幅度变化减少(噪声的峰值减小),因此,视频滤波器的

2018-06-05 16:46:05 452

原创 ubuntu下挂载windows磁盘

由于Windows默认选中了快速启动,所以关机后并没有真正关机,而是进入休眠模式,并且占用着它的文件系统。ubuntu打开windows系统(ntfs格式)时是以读写的方式打开,当发现windows没有完全关闭时,不会成功挂载。下面为挂载方法:关闭windows 快速启动(不然windows为睡眠模式,无法挂载)sudo fdisk -l  找到windows(本人window磁盘为/dev/sd...

2018-05-22 09:08:46 6474

原创 linux下遍历文件夹下某种格式的文件

#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;string.h&gt;#include &lt;iostream&gt; using namespace std;void fileFilter(const char * fileName, const char * format){ ///strstr...

2018-05-02 15:54:54 1116

原创 linux下获取文件大小

#include &lt;iostream&gt;#include &lt;sys/stat.h&gt;#include &lt;stdlib.h&gt;#include &lt;stdio.h&gt;#include &lt;string.h&gt;//#include &lt;fcntl.h&gt; using namespace std;//文件名,而不是指针int...

2018-04-26 18:28:55 1114

原创 linux 下使用脚本给已知进程发送信号

#!/bin/bash#test为进程名pkill -2 test

2018-04-25 09:55:21 3200

原创 linux下检测某个进程是否存在

#include&lt;unistd.h&gt;#include&lt;sys/types.h&gt;#include&lt;sys/wait.h&gt;#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;#include&lt;fcntl.h&gt;#include&lt;limits.h&gt;#include&lt;iostre

2018-04-10 18:00:49 4155 1

原创 c++将double转换为char,并丢弃末尾的0

#include &lt;iostream&gt;#include &lt;string.h&gt;#include &lt;sstream&gt;using namespace std;int main(){ double freq1=12.4500; ostringstream oss1; oss1&lt;&lt;freq1; char f...

2018-04-01 15:06:24 5753 1

原创 c++数组长度问题

c++ 规定不能使用变量作为数组的长度(虽然在ubuntu下编译不会出问题,但在其他系统可能就会报错),必须使用常量例如:int num=10;int array[num];  //报错const int num=10;int array[num];//正常这是因为数组作为c++的内置数据类型,是在栈中分配内存,其大小需要在编译时就确定,不能等到运行时在分配。(常量的值在编译时就已经确定)但如果在...

2018-03-08 14:02:39 742

原创 ubuntu下安装wps

1.下载wps-office_10.1.0.5707~a21_amd-64.deb;2.下载wps-office-fonts_1.0_all.deb;3.下载libpng12-0_1.2.54-1ubuntu1_amd64.deb4.下载wps_symbol_fonts.zip安装:sudo dpkg -i libpng12-0_1.2.54-1ubuntu1_amd6

2018-01-14 12:01:13 788

原创 ubuntu下使用c++创建静态互斥锁

#include #include #include #include #include  //静态互斥锁,初始化//此句创建锁后,可以直接使用 pthread_mutex_lock(&mutex_x)和//pthread_mutex_unlock(&mutex_x)给临界资源加锁//如test()pthread_mutex_t mutex_x= PTHREAD_MUTEX_I

2018-01-09 23:41:33 1063

原创 ubuntu16.04安装rabbitVCS

1.添加源sudo add-apt-repository ppa:rabbitvcs/ppa2.导入key,如果第一步出现已经导入key的提示,此步骤可以省略。sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 34EF4A353. 更新源sudo apt-get update4.安装依赖库su

2017-11-20 15:06:59 4107

原创 tcp如何保证数据包的顺序传输

1.发送机在每次发送数据时,会给每个数据包分配一个序列号,并在特定的时间内等待接收机对发送机分配序列号的确认。2.发送机将已经发送的数据存储在缓存中,如果特定时间内没有收到接收机对发送机分配序列号的确认,则重复发送此数据包,如果在定时器超时之前收到确认,则将数据包占用的缓存释放。3.接收机收到数据包后按照序列号将数据包按顺序重组,并传给上层使用。

2017-11-04 14:45:08 2266

原创 采样率和采样大小

采样率:每秒对信号的采样次数采样大小:如果对一个信号每秒进行8次采样,采样点分别对应的能量值分别为a1~a8,如果选择2bit的采样大小,则只能保存8个点中的四个点(2的2次方)。如果采样3bit的采样大小,则8个点都可以保存(2的3次方)

2017-09-28 10:09:29 9543

空空如也

空空如也

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

TA关注的人

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