力扣做题笔记——两数相加 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。的链表,表示两个非负的整数。它们每位数字都是按照。请你将两个数相加,并以相同形式返回一个表示和的链表。的方式存储的,并且每个节点只能存储。
C++面向对象基础 1,面向过程和面型对象的区别面向过程:面向过程就是分析出解决问题所需要的步骤,然后按照逻辑顺序用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。 面向过程程序设计方法采用函数(或过程)来描述对数据的操作,但又将函数与其操作的数据分离开来;面向对象:面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。面向对象具...
Windows 下C++ 利用管道通信获得子进程的输出 下面是父进程的代码,注意创建管道时CreatePipe()函数的第三个参数一定要有,否则从管道中度不输数据#include <iostream>#include <windows.h>#include <tchar.h>using namespace std;int main(){ STARTUPINFO si = {0}; PROCESS_...
C++ 程序中如何输出sqlite3数据库表的内容 本次博客所写建立在数据库food.db中fruit表fruit表的创建规则为 create fruit (id integer primary key,name text);里面共有三条数据id name1 banana2 apple3 pear这边提供两种方法从里面获取内容:方法1:sqlite3_exex函数利用回调函数callback来获得数据库中表的内容...
stringstream清空缓冲区 stringstream.clear();并不能清空缓冲区,在重复使用stringstream时缓冲区越来越长应该使用stringstream.str("");来清空缓冲区
C 语言实现面向对象编程 1、引言面向对象编程(OOP)并不是一种特定的语言或者工具,它只是一种设计方法、设计思想。它表现出来的三个最基本的特性就是封装、继承与多态。很多面向对象的编程语言已经包含这三个特性了,例如 Smalltalk、C++、Java。但是你也可以用几乎所有的编程语言来实现面向对象编程,例如 ANSI-C。要记住,面向对象是一种思想,一种方法,不要太拘泥于编程语言。2、封装封装就是把数据和方法打包到一...
WIN API 进程创建函数CreateProcess中两个结构体PROCESS_INFORMATION和STARTUO_INFO的内容 PROCESS_INFORMATION 结构编辑typedef struct_PROCESS_INFORMATION{HANDLE hProcess;HANDLE hThread;DWORD dwProcessId;DWORD dwThreadId;}PROCESS_INFORMATION;其中成员含义如下。① hProcess:返回新进程的句柄。② hTh...
进程中线程同步的四种方式 1、 临界区(CCriticalSection) 当多个线程访问一个独占性共享资源时,可以使用临界区对象。拥有临界区的线程可以访问被保护起来的资源或代码段,其他线程若想访问,则被挂起,直到拥有临界区的线程放弃临界区为止。具体应用方式: 1、 定义临界区对象CcriticalSection g_CriticalSection; 2、 在访问共享资源(代码或变量)之前,先获得临界区...
字符串中单词的反转 基本思想是 将整个字符串反转,再将字符串中的每个单词反转#include <iostream>using namespace std;int reverseStr(char *str,int begin,int end){ char tmp; if(str==NULL) { return 0; } if(begin<end) { tmp=str[b...
笔试题——用容器栈实现队列的 出入队列 #include <iostream>#include <stack>using namespace std;stack<int> stack1;stack<int> stack2;void Init(){ for(int i=0;i<5;i++) { stack1.push(i+1); }}void push(in...
在vector容器二维数组中查找元素 #include <iostream>#include <vector>using namespace std;bool Find(int target, vector<vector<int> > array) { for(vector<vector<int> >::iterator it1=array.begin...
反转链表 输入值为正序链表,返回值为逆序后的头结点 ListNode* ReverseList(ListNode* pHead) { if(pHead!=NULL) { ListNode *rHead=pHead; ListNode *p=pHead->next; pHead->next=NULL; ListNode *q; while(p!=NULL) ...
堆排序和归并排序 各种排序放大的时间复杂度,空间复杂度,以及稳定性三中排序的移动次数比较堆排序的时间复杂度为O(nlogn),无论好还他的时间复杂度是一样的 #include <stdio.h>#include <stdlib.h>#include <time.h>#define MAXSIZE 10typedef struct{ int r[M...
插入排序和希尔排序 插入排序:从数组第二个元素开始,如果他比前一个元素小,那么用一个帮助空间将他存储起来,然后将他之前比他大的元素通通后移,将他插入最后一个后移的元素之前,对于一个基本有序的数列来说很快捷,时间复杂度为O(n^2); #include <stdio.h>#include <stdlib.h>#include <time.h>#define MA...
快速排序以及快速排序的优化 快速排序#include <stdio.h>#include <stdlib.h>#include <time.h>#define MAXSIZE 10typedef struct{ int r[MAXSIZE]; int length;}SqList;int Partition(SqList *L,int low,int high);...
C语言链栈实现的简易计算器 #include <stdio.h>#include <stdlib.h>#define OK 1#define ERROR 0typedef struct Stack_num{ int num; struct Stack_num *next;}Stack_num,*LinkStack_num_ptr;typedef struct LinkStack_n...