
C/C++
唐朝的李白
这个作者很懒,什么都没留下…
展开
-
不带头结点的链表的建立和打印
#include<iostream>using namespace std;#define NUM (4000) //打算生成一个含4000个结点的链表,你也可以任意改变typedef int ElementType;//链表元素的类型,这里设置为int,你可以设置其他类型/*定义链表的结点结构:包含结点的值和指向下一节点的指针*/typedef struct listN...原创 2018-09-11 23:02:29 · 530 阅读 · 0 评论 -
在C++中使用tinyxml2解析和创建xml文件
1.TinyXML的下载TinyXML-2是一个简单,小巧,高效的C ++ XML解析器,可以轻松集成到其他程序中。可以从tinyxml2下载TinyXML。下载完成后解压tinyxml2-master.zip,将tinyxml2.h和tinyxml2.cpp两个文件放到自己的项目中,在使用tinyxml2的文件中#include"tinyxml2.h"2.使用TinyXML2创建xm...原创 2019-06-27 19:26:20 · 4331 阅读 · 2 评论 -
LeetCode-771 宝石与石头
class Solution {public: int numJewelsInStones(string J, string S) { unordered_set<char> jewel; for(int i = 0; i < J.size(); i++) jewel.insert(J[i]); int num = 0; for...原创 2019-02-25 22:03:07 · 136 阅读 · 0 评论 -
LeetCode-225 用队列实现栈
用一个队列实现栈,主要是在pop和top时,先把队列前面的size-1个元素移到队列尾部,再对对头元素进行操作。#include<queue>class MyStack {public: /** Initialize your data structure here. */ MyStack() { } /** Pus...原创 2019-02-23 20:44:13 · 189 阅读 · 0 评论 -
LeetCode-19 删除链表的倒数第N个节点
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* r...原创 2019-02-23 16:18:52 · 116 阅读 · 0 评论 -
LeetCode-203 移除链表元素
/*移除链表中的元素(带虚拟头节点版本)*/class Solution {public: ListNode* removeElements(ListNode* head, int val) { ListNode *dummyHead = new ListNode(-1); dummyHead->next = head; ListNode *preNo...原创 2019-02-22 23:58:10 · 125 阅读 · 0 评论 -
超简单Qt安装和新建项目教程
最近在学习Qt,分享一下Qt的安装方法并做一下记录。Qt安装:Qt是奇趣公司开发的用于图形界面设计的C++类库,支持跨平台,免费开源。可以在Qt官网下载Qt的安装包,但是官网访问速度比较慢,下载不方便,我们在QTCN开发网(qtcn.org)下载。如图,选择自己的平台下载相应的安装包。下载完成后,一路next,只是到了选择组件的时候要全选,默认的选择只安装了Qt creator,虽然全...原创 2019-02-07 22:23:59 · 1578 阅读 · 0 评论 -
实现C++中String类的构造函数、析构函数和赋值函数
已知类String的原型为:class String{public: String(const char *str = nullptr);//普通构造函数 String(const String &other);//复制构造函数 String & operator =(const String &other);//赋值函数 ~Str...原创 2018-10-24 21:43:04 · 383 阅读 · 0 评论 -
C++重载、覆盖和隐藏的区别
重载在同一作用域中函数名相同但参数不同(包括参数类型不同,参数个数不同或二者都不同)的函数称为重载(Overload)函数。void print(const char *ch);void print(int a);void print(int a, int b);print("Hello world");//调用print(const char *ch)print(1);//调...原创 2018-09-14 22:31:23 · 277 阅读 · 0 评论 -
LeetCode-两数之和
题目:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]class Solution {public: vector<int&...原创 2018-09-24 20:03:38 · 126 阅读 · 0 评论 -
归并排序的C++实现——递归方法
一、如何合并两个有序数组?归并排序算法的基本操作是合并两个已排序的表:对于两个已排好序的数组A和B、存放结果的数组C,设置三个计数器a、b和c,它们初始时置于数组的开始端,将A[a]和B[b]中的较小者存放在C[c]中,同时把相关的计数器向前推进一步。假设有已排序数组A={1,3,5,7}和已排序数组B={2,6,7,9,11,12},初始时,a=b=c=0。比较步骤如下:首先1和2比较,...原创 2018-09-09 21:24:04 · 1640 阅读 · 0 评论 -
win32 api 窗口居中
在网上搜是窗口居中显示的方法搜到了浪浪仔的win32 C/C++程序窗口居中,用了之后发现虽然窗口居中了,但是比原来变大了许多,后来发现是SetWindowPos时窗口的长宽设置错了,在此记录,并给需要的人。void CenterWindow(HWND hWnd){ int scrWidth, scrHeight; RECT rect; //获得屏幕尺寸 s...原创 2019-07-18 14:47:29 · 1625 阅读 · 0 评论