![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
feel_myself_is_lowB
日复一日,年复一年,总能进步一丢丢。
展开
-
C++ 注册表启动程序
介绍几个函数:多数来自百度百科,能躺着绝不坐着,能坐着绝不站着。获取系统中正在运行的进程信息,线程信息HANDLE WINAPI CreateToolhelp32Snapshot( DWORD dwFlags,//用来指定“快照”中需要返回的对象,可以是TH32CS_SNAPPROCESS等 DWORD th32ProcessID//一个进程ID号,用来指定要获取哪一个进程的快照,当获取系统进程列表或获取 当前进程 ...原创 2020-10-20 18:06:56 · 490 阅读 · 0 评论 -
网络编程:套接字 socket
复习一下,先复习下简单的套接字。好记性不如烂笔头,烂笔头不如烂键盘,烂键盘好过没键盘。Windows下.........................................................................................................................类型:流式套接字(SOCK_STREAM):套接字用于提供面向连接、可靠的数据传输服务。该服务将保证数据能够实现无差错、无重复送,并按顺序接收。TCP原创 2020-10-13 15:27:05 · 468 阅读 · 0 评论 -
二叉查找树(二叉排序树、二叉搜索树)的查找 C/C++
既然名字都叫二叉查找树,是不是肯定得用来查找嘛。递归和非递归的//递归查找BSTNode* RecursionBSTSearch(BSTNode *root, int ele){ if (root == NULL) { return NULL; } if (ele == root->data) { return root; } if (ele < root->data) { RecursionBSTSearch(root->lChil原创 2020-09-04 17:26:25 · 839 阅读 · 0 评论 -
二叉查找树(二叉排序树、二叉搜索树)的判断 C/C++
二叉排序树的定义:一棵空树,或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;(3)左、右子树也分别为二叉排序树;(4)没有键值相等的结点。说白了就是无论是对整棵树还是其某棵子树,左子树的节点都比根节点小,右子树的节点都比根节点大思路:https://blog.csdn.net/feel_myself_is_lowB/article/details/108347389这里原创 2020-09-03 11:35:42 · 546 阅读 · 0 评论 -
二叉查找树(二叉排序树)创建 C/C++
一棵空树,或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;(3)左、右子树也分别为二叉排序树;(4)没有键值相等的结点。说白了就是无论是对整棵树还是其某棵子树,左子树的节点都比根节点小,右子树的节点都比根节点大#include<stdio.h>#include<stdlib.h>typedef struct BinarySortTreeNode原创 2020-09-01 17:52:05 · 418 阅读 · 0 评论 -
字符串倒置 C/C++
#define _CRT_NO_WARNINGS#include<stdio.h>#include<string.h>#include<stdlib.h>void reverse(char str[]){ if (NULL == str) { return; } int len = strlen(str); for (int i = 0; i < len / 2; i++) { char temp = str[i]; st..原创 2020-08-28 15:27:40 · 349 阅读 · 0 评论 -
将int类型的二进制表示存储到char 数组中
#include<iostream>#include<string>using namespace std;int main(){ int result = 172; char resCode[9] = {0}; for (int i = 0; i < 8; i++) { if (result & 128) { resCode[i] = '1'; } else { resCode[i] = '0'; } res.原创 2020-07-08 17:57:17 · 462 阅读 · 0 评论 -
将按二进制表示的字符串转换成一个int类型。
#include<iostream>#include<string>using namespace std;int main(){ string code = "10101100"; int result = 0; // 0000 0000 for (int i = 0; i < code.size(); i++) { result <<= 1; if (code[i] == '1') { result |= 1; } .原创 2020-07-08 17:28:23 · 597 阅读 · 0 评论 -
格式化输出当前时间 C/C++
看下tm结构体:struct tm{ int tm_sec; /* Seconds. [0-60] (1 leap second) */ int tm_min; /* Minutes. [0-59] */ int tm_hour; /* Hours. [0-23] */ int tm_mday; /* Day. [1-31] */ int tm_mon; /* Month. [0-11] */ int tm_year; /* Year - 1900.原创 2020-07-07 13:58:12 · 270 阅读 · 0 评论 -
include Windows.h 出错及解决方法
记录一下。当我的程序中#include<Windows.h> 之后,就莫名其妙出现下图中的错误。分析: 我试了一下,这种情况出现在我引用外部头文件,即通过包含其他目录,引用目录中的头文件,在#include<Windows.h>,我的程序就会报上面的错。解决方案: 将#include<Windows.h>,这句放在引用目录头文件的上面。或着在程序前面加入一个宏定义:#define WIN32_LEAN_AND_MEAN...原创 2020-06-30 17:44:35 · 10473 阅读 · 3 评论 -
delete和free做了什么?执行它们得到的结果有何异同? C/C++
经常看到有人说delete函数和free函数,但是他们好像浑然不觉,这种说法根本就是错的。free是一个函数,但是delete是一个地地道道的操作符。废话不说了,看代码:#include<iostream>using namespace std;int main(){ int *p = new int; cout << "delete前-----------------" << endl; cout << "未初始化,p指向的值是随原创 2020-06-24 10:31:23 · 463 阅读 · 0 评论 -
c_str 的问题
先看看代买:#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<string.h>using namespace std;int main(){ string str = "hello world"; const char *s = str.c_str(); printf("s = %s\n",s); str = "Hello World!"; printf("s = %s\n",s);原创 2020-06-23 10:17:27 · 240 阅读 · 0 评论 -
C++ 利用多态计算1-n的和
C++两大核心思想:面向对象和泛型编程面向对象的三大特性:封装,继承,多态无论是实际项目还是面试中,多态都是随处可见。----------------为什么呢?-----------------因为它很牛逼code:#include<iostream>using namespace std;class Bass{public: Bass() { } virtual int GetSum(int n) { return 0; }};Bass *gR原创 2020-06-03 16:34:27 · 523 阅读 · 0 评论 -
字符串常量和字符数组
定义和初始化方式的不同:字符串常量:用双引号括起来的叫做字符串常量,比如"hello world",要定义一个字符串常量在C/C++ 中 一般是这样定义:char *str = "hello world";这个定义的含义并非指str是一个常量,而是值它指向的值是一个常量。可以修改str指向,str = "HELLO WORLD" 但是不能修改str指向的值字符数组:字符数组定义的时候需要指定数组大小,如果不指定数组大小则必须进行初始化。比如:定义时指定大小:char buf[100];.原创 2020-05-29 12:06:04 · 1025 阅读 · 0 评论 -
手写智能指针(shared_ptr)
纯粹是个人实现,可能有错误,还请海涵。。我只实现了基本的功能和use_count函数,实现其他像swap,reset函数并未做实现。直接上代码吧。这是模板类的实现//智能指针的实现#include<iostream>using namespace std;#include<memory>template<class T>class MyShared_ptr{public: //构造函数 explicit MyShared_ptr(原创 2020-05-25 17:58:55 · 930 阅读 · 2 评论 -
GetFileAttributes 和 SetFileAttributes(设置文件的属性)
GetFileAttributes://获取文件属性DWORD WINAPIGetFileAttributes( LPCTSTR lpFileName); //获取文件原有属性 //失败返回INVALID_FILE_ATTRIBUTES ...原创 2019-11-08 14:02:21 · 979 阅读 · 0 评论 -
二分查找 C++
#define _CRT_SECURE_NO_WARNINGS#include<iostream>using namespace std;int binarySearch(int arr[],int len,int data){ int left = 0; int right = len; int mid = 0; while (left<=right) {...原创 2019-04-30 10:48:09 · 415 阅读 · 0 评论 -
插入排序C
#include<iostream>using namespace std;void insertSort(int arr[],int len){ for (int i = 1; i < len; i++) { int j = i; while (j > 0 && arr[j] <...原创 2019-04-23 14:04:51 · 140 阅读 · 0 评论 -
快速排序C
#include<iostream>using namespace std;int getPivot(int arr[],int startIndex, int endIndex){ int left = startIndex; //把第一个元素作为基准元素 int &pivot = arr[startIndex]; int rig...原创 2019-04-23 13:38:51 · 969 阅读 · 0 评论